diff --git a/ML_Training_Pipeline_Complete.ipynb b/ML_Training_Pipeline_Complete.ipynb
new file mode 100644
index 0000000..51c5806
--- /dev/null
+++ b/ML_Training_Pipeline_Complete.ipynb
@@ -0,0 +1,2224 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "1432970a",
+ "metadata": {},
+ "source": [
+ "# 🤖 ML Pipeline HOÀN CHỈNH: Dự Đoán Số Lượng Nhân Sự\n",
+ "\n",
+ "**Mục tiêu:** Dự đoán số lượng nhân sự (`so_luong`) cần thiết cho mỗi ca làm việc\n",
+ "\n",
+ "**Dataset:** FINAL_DATASET_WITH_TEXT.xlsx (454 rows × 51 columns)\n",
+ "\n",
+ "**Features:** 47 features (không bao gồm 2 cột text)\n",
+ "\n",
+ "**Target:** `so_luong` (0-64 nhân sự)\n",
+ "\n",
+ "---\n",
+ "\n",
+ "## 📋 Pipeline Hoàn Chỉnh:\n",
+ "\n",
+ "1. ✅ **Import Libraries & Load Data** - Thiết lập môi trường\n",
+ "2. ✅ **Data Cleaning & Preprocessing** - Làm sạch và chuẩn hóa dữ liệu\n",
+ "3. ✅ **Feature Engineering** - Tạo features mới\n",
+ "4. ✅ **Train/Val/Test Split** - Chia dữ liệu (60/20/20)\n",
+ "5. ✅ **K-Fold Cross-Validation** - Đánh giá độ ổn định model\n",
+ "6. ✅ **Feature Selection** - Tìm best features (RF + MI + Correlation)\n",
+ "7. ✅ **Final Training** - Train model với best features\n",
+ "8. ✅ **Test Evaluation** - Đánh giá trên test set\n",
+ "9. ✅ **Save Model** - Lưu model + artifacts\n",
+ "\n",
+ "---\n",
+ "\n",
+ "**Version:** 2.0 - Complete Pipeline \n",
+ "**Date:** January 8, 2026"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "552b4010",
+ "metadata": {},
+ "source": [
+ "# 1️⃣ Import Libraries & Load Data\n",
+ "\n",
+ "**Mục đích:** Thiết lập môi trường, import các thư viện cần thiết, và load dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 98,
+ "id": "10157e9c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "✅ Libraries imported successfully!\n",
+ "📅 Date: 2026-01-08 17:52:31\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Import essential libraries\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "import warnings\n",
+ "import os\n",
+ "import pickle\n",
+ "import json\n",
+ "from datetime import datetime\n",
+ "\n",
+ "# Machine Learning libraries\n",
+ "from sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV, KFold\n",
+ "from sklearn.preprocessing import StandardScaler, LabelEncoder, OneHotEncoder\n",
+ "from sklearn.linear_model import LinearRegression\n",
+ "from sklearn.tree import DecisionTreeRegressor\n",
+ "from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor\n",
+ "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n",
+ "from sklearn.feature_selection import SelectKBest, mutual_info_regression, RFE\n",
+ "import xgboost as xgb\n",
+ "import lightgbm as lgb\n",
+ "\n",
+ "# Configuration\n",
+ "warnings.filterwarnings('ignore')\n",
+ "plt.style.use('seaborn-v0_8-darkgrid')\n",
+ "sns.set_palette(\"husl\")\n",
+ "pd.set_option('display.max_columns', None)\n",
+ "pd.set_option('display.max_rows', 100)\n",
+ "\n",
+ "# Random seed for reproducibility\n",
+ "RANDOM_STATE = 42\n",
+ "np.random.seed(RANDOM_STATE)\n",
+ "\n",
+ "# Create folders for outputs\n",
+ "os.makedirs('data/cleaned', exist_ok=True)\n",
+ "os.makedirs('data/splits', exist_ok=True)\n",
+ "os.makedirs('models', exist_ok=True)\n",
+ "os.makedirs('plots', exist_ok=True)\n",
+ "\n",
+ "print(\"✅ Libraries imported successfully!\")\n",
+ "print(f\"📅 Date: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 99,
+ "id": "8ecb54a2",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "📂 Loading dataset...\n",
+ "✅ Dataset loaded successfully!\n",
+ "📊 Shape: (454, 51)\n",
+ "📋 Columns: ['ma_dia_diem', 'all_task_normal', 'all_task_dinhky', 'loai_ca', 'bat_dau', 'ket_thuc', 'tong_gio_lam', 'so_ca_cua_toa', 'so_luong', 'num_tasks']... (showing first 10)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ma_dia_diem | \n",
+ " all_task_normal | \n",
+ " all_task_dinhky | \n",
+ " loai_ca | \n",
+ " bat_dau | \n",
+ " ket_thuc | \n",
+ " tong_gio_lam | \n",
+ " so_ca_cua_toa | \n",
+ " so_luong | \n",
+ " num_tasks | \n",
+ " num_cleaning_tasks | \n",
+ " num_trash_collection_tasks | \n",
+ " num_monitoring_tasks | \n",
+ " num_room_cleaning_tasks | \n",
+ " num_deep_cleaning_tasks | \n",
+ " num_maintenance_tasks | \n",
+ " num_support_tasks | \n",
+ " num_other_tasks | \n",
+ " num_wc_tasks | \n",
+ " num_hallway_tasks | \n",
+ " num_lobby_tasks | \n",
+ " num_patient_room_tasks | \n",
+ " num_clinic_room_tasks | \n",
+ " num_surgery_room_tasks | \n",
+ " num_outdoor_tasks | \n",
+ " num_elevator_tasks | \n",
+ " num_office_tasks | \n",
+ " num_technical_room_tasks | \n",
+ " cleaning_ratio | \n",
+ " trash_collection_ratio | \n",
+ " monitoring_ratio | \n",
+ " room_cleaning_ratio | \n",
+ " area_diversity | \n",
+ " task_complexity_score | \n",
+ " loai_hinh | \n",
+ " ten_toa_thap | \n",
+ " muc_do_luu_luong | \n",
+ " so_tang | \n",
+ " so_cua_thang_may | \n",
+ " dien_tich_ngoai_canh | \n",
+ " dien_tich_sanh | \n",
+ " dien_tich_hanh_lang | \n",
+ " dien_tich_wc | \n",
+ " dien_tich_phong | \n",
+ " dien_tich_tham | \n",
+ " doc_ham | \n",
+ " vien_phan_quang | \n",
+ " op_tuong | \n",
+ " op_chan_tuong | \n",
+ " ranh_thoat_nuoc | \n",
+ " dien_tich_kinh | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 115-2 | \n",
+ " Làm sạch toàn bộ phòng giao dịch tầng 1 (kể cả... | \n",
+ " NaN | \n",
+ " Part time | \n",
+ " 06:30:00 | \n",
+ " 10:30:00 | \n",
+ " 4.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 7.0 | \n",
+ " 7.0 | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 2.0 | \n",
+ " 3.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 1.000 | \n",
+ " 0.1429 | \n",
+ " 0.2857 | \n",
+ " 0.0000 | \n",
+ " 4.0 | \n",
+ " 1.38 | \n",
+ " 0 | \n",
+ " AGRIBANK CHI NHÁNH MỸ ĐÌNH | \n",
+ " Trung bình (11–20 người) | \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 15.0 | \n",
+ " 290.0 | \n",
+ " 0.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0 | \n",
+ " 20.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 115-5 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " Hành chính | \n",
+ " 06:30:00 | \n",
+ " 16:00:00 | \n",
+ " 8.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0 | \n",
+ " AGRIBANK PGD SỐ 05 | \n",
+ " Trung bình (11–20 người) | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 15.0 | \n",
+ " 300.0 | \n",
+ " 0.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0 | \n",
+ " 30.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 101-1 | \n",
+ " Kiểm tra nhân sự các vị trí Thay rác, đẩy khô,... | \n",
+ " Lau bảng biển, bình cứu hỏa , cây nước hành la... | \n",
+ " Hành chính | \n",
+ " 06:30:00 | \n",
+ " 16:00:00 | \n",
+ " 7.5 | \n",
+ " 6 | \n",
+ " 24 | \n",
+ " 441.0 | \n",
+ " 258.0 | \n",
+ " 145.0 | \n",
+ " 134.0 | \n",
+ " 65.0 | \n",
+ " 75.0 | \n",
+ " 62.0 | \n",
+ " 57.0 | \n",
+ " 45.0 | \n",
+ " 89.0 | \n",
+ " 90.0 | \n",
+ " 5.0 | \n",
+ " 41.0 | \n",
+ " 25.0 | \n",
+ " 30.0 | \n",
+ " 4.0 | \n",
+ " 12.0 | \n",
+ " 39.0 | \n",
+ " 16.0 | \n",
+ " 0.585 | \n",
+ " 0.3288 | \n",
+ " 0.3039 | \n",
+ " 0.1474 | \n",
+ " 10.0 | \n",
+ " 10.00 | \n",
+ " 0 | \n",
+ " Tòa 5 tầng | \n",
+ " Rất cao (Trên 40 người) | \n",
+ " 10 | \n",
+ " 18 | \n",
+ " 1700.0 | \n",
+ " 0.0 | \n",
+ " 2600.0 | \n",
+ " 348.0 | \n",
+ " 6825.0 | \n",
+ " 0.0 | \n",
+ " 70 | \n",
+ " 0 | \n",
+ " 9176.0 | \n",
+ " 89.0 | \n",
+ " 25 | \n",
+ " 894.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 101-1 | \n",
+ " Kiểm tra nhân sự các vị trí Thay rác, đẩy khô,... | \n",
+ " Lau bảng biển, bình cứu hỏa , cây nước hành la... | \n",
+ " Ca sáng | \n",
+ " 06:00:00 | \n",
+ " 14:00:00 | \n",
+ " 8.0 | \n",
+ " 6 | \n",
+ " 3 | \n",
+ " 441.0 | \n",
+ " 258.0 | \n",
+ " 145.0 | \n",
+ " 134.0 | \n",
+ " 65.0 | \n",
+ " 75.0 | \n",
+ " 62.0 | \n",
+ " 57.0 | \n",
+ " 45.0 | \n",
+ " 89.0 | \n",
+ " 90.0 | \n",
+ " 5.0 | \n",
+ " 41.0 | \n",
+ " 25.0 | \n",
+ " 30.0 | \n",
+ " 4.0 | \n",
+ " 12.0 | \n",
+ " 39.0 | \n",
+ " 16.0 | \n",
+ " 0.585 | \n",
+ " 0.3288 | \n",
+ " 0.3039 | \n",
+ " 0.1474 | \n",
+ " 10.0 | \n",
+ " 10.00 | \n",
+ " 0 | \n",
+ " Tòa 5 tầng | \n",
+ " Rất cao (Trên 40 người) | \n",
+ " 10 | \n",
+ " 18 | \n",
+ " 1700.0 | \n",
+ " 0.0 | \n",
+ " 2600.0 | \n",
+ " 348.0 | \n",
+ " 6825.0 | \n",
+ " 0.0 | \n",
+ " 70 | \n",
+ " 0 | \n",
+ " 9176.0 | \n",
+ " 89.0 | \n",
+ " 25 | \n",
+ " 894.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 101-1 | \n",
+ " Kiểm tra nhân sự các vị trí Thay rác, đẩy khô,... | \n",
+ " Lau bảng biển, bình cứu hỏa , cây nước hành la... | \n",
+ " Ca chiều | \n",
+ " 14:00:00 | \n",
+ " 22:00:00 | \n",
+ " 8.0 | \n",
+ " 6 | \n",
+ " 5 | \n",
+ " 441.0 | \n",
+ " 258.0 | \n",
+ " 145.0 | \n",
+ " 134.0 | \n",
+ " 65.0 | \n",
+ " 75.0 | \n",
+ " 62.0 | \n",
+ " 57.0 | \n",
+ " 45.0 | \n",
+ " 89.0 | \n",
+ " 90.0 | \n",
+ " 5.0 | \n",
+ " 41.0 | \n",
+ " 25.0 | \n",
+ " 30.0 | \n",
+ " 4.0 | \n",
+ " 12.0 | \n",
+ " 39.0 | \n",
+ " 16.0 | \n",
+ " 0.585 | \n",
+ " 0.3288 | \n",
+ " 0.3039 | \n",
+ " 0.1474 | \n",
+ " 10.0 | \n",
+ " 10.00 | \n",
+ " 0 | \n",
+ " Tòa 5 tầng | \n",
+ " Rất cao (Trên 40 người) | \n",
+ " 10 | \n",
+ " 18 | \n",
+ " 1700.0 | \n",
+ " 0.0 | \n",
+ " 2600.0 | \n",
+ " 348.0 | \n",
+ " 6825.0 | \n",
+ " 0.0 | \n",
+ " 70 | \n",
+ " 0 | \n",
+ " 9176.0 | \n",
+ " 89.0 | \n",
+ " 25 | \n",
+ " 894.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ma_dia_diem all_task_normal \\\n",
+ "0 115-2 Làm sạch toàn bộ phòng giao dịch tầng 1 (kể cả... \n",
+ "1 115-5 NaN \n",
+ "2 101-1 Kiểm tra nhân sự các vị trí Thay rác, đẩy khô,... \n",
+ "3 101-1 Kiểm tra nhân sự các vị trí Thay rác, đẩy khô,... \n",
+ "4 101-1 Kiểm tra nhân sự các vị trí Thay rác, đẩy khô,... \n",
+ "\n",
+ " all_task_dinhky loai_ca bat_dau \\\n",
+ "0 NaN Part time 06:30:00 \n",
+ "1 NaN Hành chính 06:30:00 \n",
+ "2 Lau bảng biển, bình cứu hỏa , cây nước hành la... Hành chính 06:30:00 \n",
+ "3 Lau bảng biển, bình cứu hỏa , cây nước hành la... Ca sáng 06:00:00 \n",
+ "4 Lau bảng biển, bình cứu hỏa , cây nước hành la... Ca chiều 14:00:00 \n",
+ "\n",
+ " ket_thuc tong_gio_lam so_ca_cua_toa so_luong num_tasks \\\n",
+ "0 10:30:00 4.0 1 1 7.0 \n",
+ "1 16:00:00 8.0 1 1 NaN \n",
+ "2 16:00:00 7.5 6 24 441.0 \n",
+ "3 14:00:00 8.0 6 3 441.0 \n",
+ "4 22:00:00 8.0 6 5 441.0 \n",
+ "\n",
+ " num_cleaning_tasks num_trash_collection_tasks num_monitoring_tasks \\\n",
+ "0 7.0 1.0 2.0 \n",
+ "1 NaN NaN NaN \n",
+ "2 258.0 145.0 134.0 \n",
+ "3 258.0 145.0 134.0 \n",
+ "4 258.0 145.0 134.0 \n",
+ "\n",
+ " num_room_cleaning_tasks num_deep_cleaning_tasks num_maintenance_tasks \\\n",
+ "0 0.0 1.0 1.0 \n",
+ "1 NaN NaN NaN \n",
+ "2 65.0 75.0 62.0 \n",
+ "3 65.0 75.0 62.0 \n",
+ "4 65.0 75.0 62.0 \n",
+ "\n",
+ " num_support_tasks num_other_tasks num_wc_tasks num_hallway_tasks \\\n",
+ "0 0.0 0.0 4.0 0.0 \n",
+ "1 NaN NaN NaN NaN \n",
+ "2 57.0 45.0 89.0 90.0 \n",
+ "3 57.0 45.0 89.0 90.0 \n",
+ "4 57.0 45.0 89.0 90.0 \n",
+ "\n",
+ " num_lobby_tasks num_patient_room_tasks num_clinic_room_tasks \\\n",
+ "0 0.0 0.0 0.0 \n",
+ "1 NaN NaN NaN \n",
+ "2 5.0 41.0 25.0 \n",
+ "3 5.0 41.0 25.0 \n",
+ "4 5.0 41.0 25.0 \n",
+ "\n",
+ " num_surgery_room_tasks num_outdoor_tasks num_elevator_tasks \\\n",
+ "0 0.0 2.0 3.0 \n",
+ "1 NaN NaN NaN \n",
+ "2 30.0 4.0 12.0 \n",
+ "3 30.0 4.0 12.0 \n",
+ "4 30.0 4.0 12.0 \n",
+ "\n",
+ " num_office_tasks num_technical_room_tasks cleaning_ratio \\\n",
+ "0 1.0 0.0 1.000 \n",
+ "1 NaN NaN NaN \n",
+ "2 39.0 16.0 0.585 \n",
+ "3 39.0 16.0 0.585 \n",
+ "4 39.0 16.0 0.585 \n",
+ "\n",
+ " trash_collection_ratio monitoring_ratio room_cleaning_ratio \\\n",
+ "0 0.1429 0.2857 0.0000 \n",
+ "1 NaN NaN NaN \n",
+ "2 0.3288 0.3039 0.1474 \n",
+ "3 0.3288 0.3039 0.1474 \n",
+ "4 0.3288 0.3039 0.1474 \n",
+ "\n",
+ " area_diversity task_complexity_score loai_hinh \\\n",
+ "0 4.0 1.38 0 \n",
+ "1 NaN NaN 0 \n",
+ "2 10.0 10.00 0 \n",
+ "3 10.0 10.00 0 \n",
+ "4 10.0 10.00 0 \n",
+ "\n",
+ " ten_toa_thap muc_do_luu_luong so_tang \\\n",
+ "0 AGRIBANK CHI NHÁNH MỸ ĐÌNH Trung bình (11–20 người) 4 \n",
+ "1 AGRIBANK PGD SỐ 05 Trung bình (11–20 người) 1 \n",
+ "2 Tòa 5 tầng Rất cao (Trên 40 người) 10 \n",
+ "3 Tòa 5 tầng Rất cao (Trên 40 người) 10 \n",
+ "4 Tòa 5 tầng Rất cao (Trên 40 người) 10 \n",
+ "\n",
+ " so_cua_thang_may dien_tich_ngoai_canh dien_tich_sanh \\\n",
+ "0 0 0.0 0.0 \n",
+ "1 0 0.0 0.0 \n",
+ "2 18 1700.0 0.0 \n",
+ "3 18 1700.0 0.0 \n",
+ "4 18 1700.0 0.0 \n",
+ "\n",
+ " dien_tich_hanh_lang dien_tich_wc dien_tich_phong dien_tich_tham \\\n",
+ "0 0.0 15.0 290.0 0.0 \n",
+ "1 0.0 15.0 300.0 0.0 \n",
+ "2 2600.0 348.0 6825.0 0.0 \n",
+ "3 2600.0 348.0 6825.0 0.0 \n",
+ "4 2600.0 348.0 6825.0 0.0 \n",
+ "\n",
+ " doc_ham vien_phan_quang op_tuong op_chan_tuong ranh_thoat_nuoc \\\n",
+ "0 0 0 0.0 0.0 0 \n",
+ "1 0 0 0.0 0.0 0 \n",
+ "2 70 0 9176.0 89.0 25 \n",
+ "3 70 0 9176.0 89.0 25 \n",
+ "4 70 0 9176.0 89.0 25 \n",
+ "\n",
+ " dien_tich_kinh \n",
+ "0 20.0 \n",
+ "1 30.0 \n",
+ "2 894.0 \n",
+ "3 894.0 \n",
+ "4 894.0 "
+ ]
+ },
+ "execution_count": 99,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load dataset\n",
+ "print(\"📂 Loading dataset...\")\n",
+ "df = pd.read_excel('FINAL_DATASET_WITH_TEXT_BACKUP_20260105_213507.xlsx')\n",
+ "\n",
+ "print(f\"✅ Dataset loaded successfully!\")\n",
+ "print(f\"📊 Shape: {df.shape}\")\n",
+ "print(f\"📋 Columns: {df.columns.tolist()[:10]}... (showing first 10)\")\n",
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9e49dd58",
+ "metadata": {},
+ "source": [
+ "# 2️⃣ Exploratory Data Analysis (EDA)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 100,
+ "id": "b277092d",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "📊 EXPLORATORY DATA ANALYSIS\n",
+ "================================================================================\n",
+ "\n",
+ "1. DATA INFO:\n",
+ " Shape: (454, 51)\n",
+ " Memory: 9.10 MB\n",
+ "\n",
+ "2. DATA TYPES:\n",
+ "float64 35\n",
+ "object 8\n",
+ "int64 8\n",
+ "Name: count, dtype: int64\n",
+ "\n",
+ "3. MISSING VALUES:\n",
+ " Missing Percentage\n",
+ "all_task_dinhky 168 37.00\n",
+ "all_task_normal 27 5.95\n",
+ "num_patient_room_tasks 22 4.85\n",
+ "area_diversity 22 4.85\n",
+ "room_cleaning_ratio 22 4.85\n",
+ "monitoring_ratio 22 4.85\n",
+ "trash_collection_ratio 22 4.85\n",
+ "cleaning_ratio 22 4.85\n",
+ "num_technical_room_tasks 22 4.85\n",
+ "num_office_tasks 22 4.85\n",
+ "num_elevator_tasks 22 4.85\n",
+ "num_outdoor_tasks 22 4.85\n",
+ "num_surgery_room_tasks 22 4.85\n",
+ "num_clinic_room_tasks 22 4.85\n",
+ "num_lobby_tasks 22 4.85\n",
+ "num_hallway_tasks 22 4.85\n",
+ "num_wc_tasks 22 4.85\n",
+ "num_other_tasks 22 4.85\n",
+ "num_support_tasks 22 4.85\n",
+ "num_maintenance_tasks 22 4.85\n",
+ "num_deep_cleaning_tasks 22 4.85\n",
+ "num_room_cleaning_tasks 22 4.85\n",
+ "num_monitoring_tasks 22 4.85\n",
+ "num_trash_collection_tasks 22 4.85\n",
+ "num_cleaning_tasks 22 4.85\n",
+ "num_tasks 22 4.85\n",
+ "task_complexity_score 22 4.85\n",
+ "\n",
+ "4. TARGET VARIABLE (so_luong):\n",
+ "count 454.000000\n",
+ "mean 4.484581\n",
+ "std 6.626822\n",
+ "min 0.000000\n",
+ "25% 1.000000\n",
+ "50% 2.000000\n",
+ "75% 5.000000\n",
+ "max 64.000000\n",
+ "Name: so_luong, dtype: float64\n",
+ " Zero values: 16\n",
+ " Skewness: 3.69\n",
+ " Kurtosis: 19.63\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"📊 EXPLORATORY DATA ANALYSIS\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "print(\"\\n1. DATA INFO:\")\n",
+ "print(f\" Shape: {df.shape}\")\n",
+ "print(f\" Memory: {df.memory_usage(deep=True).sum() / 1024**2:.2f} MB\")\n",
+ "\n",
+ "print(\"\\n2. DATA TYPES:\")\n",
+ "print(df.dtypes.value_counts())\n",
+ "\n",
+ "print(\"\\n3. MISSING VALUES:\")\n",
+ "missing = df.isnull().sum()\n",
+ "missing_pct = (missing / len(df) * 100).round(2)\n",
+ "missing_df = pd.DataFrame({\n",
+ " 'Missing': missing[missing > 0],\n",
+ " 'Percentage': missing_pct[missing > 0]\n",
+ "}).sort_values('Missing', ascending=False)\n",
+ "print(missing_df)\n",
+ "\n",
+ "print(\"\\n4. TARGET VARIABLE (so_luong):\")\n",
+ "print(df['so_luong'].describe())\n",
+ "print(f\" Zero values: {(df['so_luong'] == 0).sum()}\")\n",
+ "print(f\" Skewness: {df['so_luong'].skew():.2f}\")\n",
+ "print(f\" Kurtosis: {df['so_luong'].kurt():.2f}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "234dfda5",
+ "metadata": {},
+ "source": [
+ "# 4️⃣ Data Cleaning"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 101,
+ "id": "cda6f5fc",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "🧹 DATA CLEANING\n",
+ "================================================================================\n",
+ "\n",
+ "1. Handling missing values...\n",
+ " Filled num_tasks with 0\n",
+ " Filled num_cleaning_tasks with 0\n",
+ " Filled num_trash_collection_tasks with 0\n",
+ " Filled num_monitoring_tasks with 0\n",
+ " Filled num_room_cleaning_tasks with 0\n",
+ " Filled num_deep_cleaning_tasks with 0\n",
+ " Filled num_maintenance_tasks with 0\n",
+ " Filled num_support_tasks with 0\n",
+ " Filled num_other_tasks with 0\n",
+ " Filled num_wc_tasks with 0\n",
+ " Filled num_hallway_tasks with 0\n",
+ " Filled num_lobby_tasks with 0\n",
+ " Filled num_patient_room_tasks with 0\n",
+ " Filled num_clinic_room_tasks with 0\n",
+ " Filled num_surgery_room_tasks with 0\n",
+ " Filled num_outdoor_tasks with 0\n",
+ " Filled num_elevator_tasks with 0\n",
+ " Filled num_office_tasks with 0\n",
+ " Filled num_technical_room_tasks with 0\n",
+ " Filled cleaning_ratio with 0\n",
+ " Filled trash_collection_ratio with 0\n",
+ " Filled monitoring_ratio with 0\n",
+ " Filled room_cleaning_ratio with 0\n",
+ " Filled area_diversity with 0\n",
+ " Filled task_complexity_score with 0\n",
+ "\n",
+ "2. Analyzing target outliers...\n",
+ " Zero values: 16\n",
+ " Decision: KEEP all values (including zeros)\n",
+ "\n",
+ "3. Checking duplicates...\n",
+ " Duplicates found: 9\n",
+ "\n",
+ "4. Dropping unnecessary columns...\n",
+ " Dropped: ['ma_dia_diem', 'all_task_normal', 'all_task_dinhky', 'ten_toa_thap']\n",
+ "\n",
+ "5. Validation after cleaning:\n",
+ " Shape: (445, 47)\n",
+ " Missing values: 0\n",
+ "\n",
+ "✅ Saved: data/cleaned/CLEANED_DATA.csv\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"🧹 DATA CLEANING\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "df_clean = df.copy()\n",
+ "\n",
+ "# 1. Handle missing values\n",
+ "print(\"\\n1. Handling missing values...\")\n",
+ "\n",
+ "# Task features: fill with 0\n",
+ "task_features = [col for col in df_clean.columns if col.startswith('num_') or col.endswith('_ratio') or col in ['area_diversity', 'task_complexity_score']]\n",
+ "for col in task_features:\n",
+ " if df_clean[col].isnull().sum() > 0:\n",
+ " df_clean[col] = df_clean[col].fillna(0)\n",
+ " print(f\" Filled {col} with 0\")\n",
+ "\n",
+ "# Building features: fill with median\n",
+ "building_features = [col for col in df_clean.columns if col.startswith('dien_tich_') or col in ['so_tang', 'so_cua_thang_may']]\n",
+ "for col in building_features:\n",
+ " if df_clean[col].isnull().sum() > 0:\n",
+ " median_val = df_clean[col].median()\n",
+ " df_clean[col] = df_clean[col].fillna(median_val)\n",
+ " print(f\" Filled {col} with median={median_val}\")\n",
+ "\n",
+ "# Categorical: fill with mode\n",
+ "cat_features = ['loai_hinh', 'muc_do_luu_luong']\n",
+ "for col in cat_features:\n",
+ " if col in df_clean.columns and df_clean[col].isnull().sum() > 0:\n",
+ " mode_val = df_clean[col].mode()[0]\n",
+ " df_clean[col] = df_clean[col].fillna(mode_val)\n",
+ " print(f\" Filled {col} with mode={mode_val}\")\n",
+ "\n",
+ "# 2. Handle outliers (keep all for now)\n",
+ "print(\"\\n2. Analyzing target outliers...\")\n",
+ "print(f\" Zero values: {(df_clean['so_luong'] == 0).sum()}\")\n",
+ "print(\" Decision: KEEP all values (including zeros)\")\n",
+ "\n",
+ "# 3. Remove duplicates\n",
+ "print(\"\\n3. Checking duplicates...\")\n",
+ "dups = df_clean.duplicated().sum()\n",
+ "print(f\" Duplicates found: {dups}\")\n",
+ "if dups > 0:\n",
+ " df_clean = df_clean.drop_duplicates()\n",
+ "\n",
+ "# 4. Drop unnecessary columns\n",
+ "print(\"\\n4. Dropping unnecessary columns...\")\n",
+ "cols_to_drop = ['ma_dia_diem', 'all_task_normal', 'all_task_dinhky', 'ten_toa_thap']\n",
+ "cols_to_drop = [col for col in cols_to_drop if col in df_clean.columns]\n",
+ "df_clean = df_clean.drop(columns=cols_to_drop)\n",
+ "print(f\" Dropped: {cols_to_drop}\")\n",
+ "\n",
+ "# 5. Validate\n",
+ "print(\"\\n5. Validation after cleaning:\")\n",
+ "print(f\" Shape: {df_clean.shape}\")\n",
+ "print(f\" Missing values: {df_clean.isnull().sum().sum()}\")\n",
+ "\n",
+ "# Save\n",
+ "df_clean.to_csv('data/cleaned/CLEANED_DATA.csv', index=False)\n",
+ "print(\"\\n✅ Saved: data/cleaned/CLEANED_DATA.csv\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ff3cc30f",
+ "metadata": {},
+ "source": [
+ "# 5️⃣ Feature Engineering"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 102,
+ "id": "83c1bbba",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "⚙️ FEATURE ENGINEERING\n",
+ "================================================================================\n",
+ "\n",
+ "1. Creating time features...\n",
+ " ✅ Created time features\n",
+ "\n",
+ "2. Creating interaction features...\n",
+ " ✅ Created interaction features\n",
+ "\n",
+ "3. Creating aggregation features...\n",
+ " ✅ Created aggregation features\n",
+ "\n",
+ "4. Encoding categorical features...\n",
+ " ✅ One-hot encoded loai_ca\n",
+ " ✅ Label encoded loai_hinh\n",
+ " ✅ Label encoded muc_do_luu_luong\n",
+ "\n",
+ "✅ Feature engineering complete! Shape: (445, 64)\n",
+ "✅ Saved: data/cleaned/ENGINEERED_DATA.csv\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"⚙️ FEATURE ENGINEERING\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "df_eng = df_clean.copy()\n",
+ "\n",
+ "# A. TIME FEATURES\n",
+ "print(\"\\n1. Creating time features...\")\n",
+ "\n",
+ "def parse_time(time_val):\n",
+ " if pd.isna(time_val):\n",
+ " return 0\n",
+ " \n",
+ " # If it's already a datetime object\n",
+ " if isinstance(time_val, pd.Timestamp) or hasattr(time_val, 'hour'):\n",
+ " return time_val.hour\n",
+ " \n",
+ " # If it's a string\n",
+ " if isinstance(time_val, str):\n",
+ " time_val = time_val.strip()\n",
+ " \n",
+ " # Format: \"2025-01-01 22:00:00\" or \"2025-01-01 22\"\n",
+ " if ' ' in time_val:\n",
+ " # Split by space and get the time part\n",
+ " parts = time_val.split(' ')\n",
+ " if len(parts) >= 2:\n",
+ " time_part = parts[1] # Get time part after space\n",
+ " if ':' in time_part:\n",
+ " return int(time_part.split(':')[0])\n",
+ " else:\n",
+ " return int(time_part)\n",
+ " \n",
+ " # Format: \"22:00:00\" or \"22:00\"\n",
+ " elif ':' in time_val:\n",
+ " return int(time_val.split(':')[0])\n",
+ " \n",
+ " # Try to parse as integer\n",
+ " try:\n",
+ " return int(float(time_val))\n",
+ " except:\n",
+ " return 0\n",
+ " \n",
+ " # If it's a number\n",
+ " if isinstance(time_val, (int, float)):\n",
+ " return int(time_val) if not np.isnan(time_val) else 0\n",
+ " \n",
+ " return 0\n",
+ "\n",
+ "df_eng['hour_start'] = df_eng['bat_dau'].apply(parse_time)\n",
+ "df_eng['hour_end'] = df_eng['ket_thuc'].apply(parse_time)\n",
+ "\n",
+ "def parse_work_hours(time_str):\n",
+ " if pd.isna(time_str):\n",
+ " return 8.0\n",
+ " if isinstance(time_str, str) and ':' in time_str:\n",
+ " parts = time_str.split(':')\n",
+ " return float(parts[0]) + float(parts[1])/60 if len(parts) > 1 else float(parts[0])\n",
+ " return 8.0\n",
+ "\n",
+ "df_eng['work_hours_numeric'] = df_eng['tong_gio_lam'].apply(parse_work_hours)\n",
+ "\n",
+ "# Shift indicators\n",
+ "df_eng['is_morning_shift'] = ((df_eng['hour_start'] >= 6) & (df_eng['hour_start'] < 12)).astype(int)\n",
+ "df_eng['is_afternoon_shift'] = ((df_eng['hour_start'] >= 12) & (df_eng['hour_start'] < 18)).astype(int)\n",
+ "df_eng['is_evening_shift'] = ((df_eng['hour_start'] >= 18) & (df_eng['hour_start'] < 24)).astype(int)\n",
+ "df_eng['is_night_shift'] = ((df_eng['hour_start'] >= 0) & (df_eng['hour_start'] < 6)).astype(int)\n",
+ "\n",
+ "print(\" ✅ Created time features\")\n",
+ "\n",
+ "# B. INTERACTION FEATURES\n",
+ "print(\"\\n2. Creating interaction features...\")\n",
+ "\n",
+ "df_eng['tasks_per_hour'] = df_eng['num_tasks'] / (df_eng['work_hours_numeric'] + 0.1)\n",
+ "df_eng['tasks_per_floor'] = df_eng['num_tasks'] / (df_eng['so_tang'] + 1)\n",
+ "df_eng['wc_per_floor'] = df_eng['num_wc_tasks'] / (df_eng['so_tang'] + 1)\n",
+ "df_eng['cleaning_workload'] = df_eng['num_cleaning_tasks'] * df_eng['area_diversity']\n",
+ "\n",
+ "print(\" ✅ Created interaction features\")\n",
+ "\n",
+ "# C. AGGREGATION FEATURES\n",
+ "print(\"\\n3. Creating aggregation features...\")\n",
+ "\n",
+ "area_cols = [col for col in df_eng.columns if col.startswith('dien_tich_')]\n",
+ "df_eng['total_area'] = df_eng[area_cols].sum(axis=1)\n",
+ "df_eng['area_per_floor'] = df_eng['total_area'] / (df_eng['so_tang'] + 1)\n",
+ "\n",
+ "special_cols = ['num_patient_room_tasks', 'num_surgery_room_tasks', 'num_clinic_room_tasks']\n",
+ "df_eng['has_special_areas'] = (df_eng[special_cols].sum(axis=1) > 0).astype(int)\n",
+ "\n",
+ "print(\" ✅ Created aggregation features\")\n",
+ "\n",
+ "# D. CATEGORICAL ENCODING\n",
+ "print(\"\\n4. Encoding categorical features...\")\n",
+ "\n",
+ "# One-hot for loai_ca\n",
+ "if 'loai_ca' in df_eng.columns:\n",
+ " loai_ca_dummies = pd.get_dummies(df_eng['loai_ca'], prefix='loai_ca', drop_first=True)\n",
+ " df_eng = pd.concat([df_eng, loai_ca_dummies], axis=1)\n",
+ " df_eng = df_eng.drop('loai_ca', axis=1)\n",
+ " print(f\" ✅ One-hot encoded loai_ca\")\n",
+ "\n",
+ "# Label encoding for ordinal\n",
+ "ordinal_map = {\n",
+ " 'loai_hinh': {'Văn phòng': 0, 'Bệnh viện': 1, 'Trung tâm thương mại': 2, 'Khác': 3},\n",
+ " 'muc_do_luu_luong': {'Thấp': 0, 'Trung bình': 1, 'Cao': 2}\n",
+ "}\n",
+ "\n",
+ "for col, mapping in ordinal_map.items():\n",
+ " if col in df_eng.columns:\n",
+ " df_eng[col] = df_eng[col].map(mapping).fillna(0).astype(int)\n",
+ " print(f\" ✅ Label encoded {col}\")\n",
+ "\n",
+ "# Drop original time columns\n",
+ "time_cols = ['bat_dau', 'ket_thuc', 'tong_gio_lam']\n",
+ "df_eng = df_eng.drop(columns=[c for c in time_cols if c in df_eng.columns])\n",
+ "\n",
+ "print(f\"\\n✅ Feature engineering complete! Shape: {df_eng.shape}\")\n",
+ "\n",
+ "# Save\n",
+ "df_eng.to_csv('data/cleaned/ENGINEERED_DATA.csv', index=False)\n",
+ "print(\"✅ Saved: data/cleaned/ENGINEERED_DATA.csv\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9a1031a3",
+ "metadata": {},
+ "source": [
+ "# 6️⃣ Train/Val/Test Split\n",
+ "\n",
+ "**Mục đích:** Chia dữ liệu thành 3 tập: Train (60%), Validation (20%), Test (20%)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 103,
+ "id": "5edc1e37",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "✂️ TRAIN/VAL/TEST SPLIT\n",
+ "================================================================================\n",
+ "\n",
+ "📊 Dataset:\n",
+ " Total samples: 445\n",
+ " Features: 63\n",
+ " Target range: [0, 64]\n",
+ "\n",
+ "✅ Split completed:\n",
+ " Train: 267 samples (60.0%)\n",
+ " Val: 89 samples (20.0%)\n",
+ " Test: 89 samples (20.0%)\n",
+ "\n",
+ "✅ Saved splits to data/splits/\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"✂️ TRAIN/VAL/TEST SPLIT\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "# Separate features and target\n",
+ "y = df_eng['so_luong']\n",
+ "X = df_eng.drop('so_luong', axis=1)\n",
+ "\n",
+ "print(f\"\\n📊 Dataset:\")\n",
+ "print(f\" Total samples: {len(X)}\")\n",
+ "print(f\" Features: {X.shape[1]}\")\n",
+ "print(f\" Target range: [{y.min()}, {y.max()}]\")\n",
+ "\n",
+ "# Split train+val (80%) and test (20%)\n",
+ "X_temp, X_test, y_temp, y_test = train_test_split(\n",
+ " X, y, test_size=0.2, random_state=RANDOM_STATE\n",
+ ")\n",
+ "\n",
+ "# Split train (75% of 80% = 60%) and val (25% of 80% = 20%)\n",
+ "X_train, X_val, y_train, y_val = train_test_split(\n",
+ " X_temp, y_temp, test_size=0.25, random_state=RANDOM_STATE\n",
+ ")\n",
+ "\n",
+ "print(f\"\\n✅ Split completed:\")\n",
+ "print(f\" Train: {X_train.shape[0]} samples ({X_train.shape[0]/len(X)*100:.1f}%)\")\n",
+ "print(f\" Val: {X_val.shape[0]} samples ({X_val.shape[0]/len(X)*100:.1f}%)\")\n",
+ "print(f\" Test: {X_test.shape[0]} samples ({X_test.shape[0]/len(X)*100:.1f}%)\")\n",
+ "\n",
+ "# Save splits\n",
+ "X_train.to_csv('data/splits/X_train.csv', index=False)\n",
+ "X_val.to_csv('data/splits/X_val.csv', index=False)\n",
+ "X_test.to_csv('data/splits/X_test.csv', index=False)\n",
+ "y_train.to_csv('data/splits/y_train.csv', index=False)\n",
+ "y_val.to_csv('data/splits/y_val.csv', index=False)\n",
+ "y_test.to_csv('data/splits/y_test.csv', index=False)\n",
+ "\n",
+ "print(\"\\n✅ Saved splits to data/splits/\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8ed0b48c",
+ "metadata": {},
+ "source": [
+ "# 7️⃣ K-Fold Cross-Validation\n",
+ "\n",
+ "**Mục đích:** Đánh giá độ ổn định của các models bằng 5-Fold CV trên training set"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 104,
+ "id": "d1d120e4",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "🔄 K-FOLD CROSS-VALIDATION\n",
+ "================================================================================\n",
+ "\n",
+ "📏 Preparing data for K-Fold CV...\n",
+ " ⚠️ Dropping 14 non-numeric columns: ['loai_hinh', 'muc_do_luu_luong', 'is_morning_shift', 'is_afternoon_shift', 'is_evening_shift', 'is_night_shift', 'has_special_areas', 'loai_ca_24/24', 'loai_ca_Ca chiều', 'loai_ca_Ca gãy', 'loai_ca_Ca sáng', 'loai_ca_Ca đêm', 'loai_ca_Hành chính', 'loai_ca_Part time']\n",
+ " Binary columns (no scaling): 0\n",
+ " One-hot columns (no scaling): 0\n",
+ " Numeric columns (will scale): 49\n",
+ " ✅ Scaled 49 numeric features\n",
+ "\n",
+ "🤖 Running 5-Fold CV...\n",
+ "\n",
+ " Testing Linear Regression...\n",
+ " MAE: 3.7654 ± 0.8861\n",
+ " R²: -0.1780 ± 0.5737\n",
+ "\n",
+ " Testing Decision Tree...\n",
+ " MAE: 3.8242 ± 0.8261\n",
+ " R²: -0.7565 ± 1.4466\n",
+ "\n",
+ " Testing Random Forest...\n",
+ " MAE: 3.3523 ± 0.8554\n",
+ " R²: -0.0652 ± 0.3507\n",
+ "\n",
+ " Testing Gradient Boosting...\n",
+ " MAE: 3.3027 ± 0.8887\n",
+ " R²: -0.1023 ± 0.5154\n",
+ "\n",
+ " Testing XGBoost...\n",
+ " MAE: 3.3237 ± 0.7237\n",
+ " R²: -0.1420 ± 0.5722\n",
+ "\n",
+ " Testing LightGBM...\n",
+ " MAE: 3.4016 ± 0.8549\n",
+ " R²: -0.0064 ± 0.2486\n",
+ "\n",
+ "================================================================================\n",
+ "📊 K-FOLD CV RESULTS SUMMARY\n",
+ "================================================================================\n",
+ " Model Mean_MAE Std_MAE Mean_R2 Std_R2\n",
+ "Gradient Boosting 3.302737 0.888736 -0.102337 0.515448\n",
+ " XGBoost 3.323695 0.723653 -0.142027 0.572242\n",
+ " Random Forest 3.352265 0.855390 -0.065234 0.350683\n",
+ " LightGBM 3.401601 0.854854 -0.006448 0.248615\n",
+ "Linear Regression 3.765361 0.886077 -0.177970 0.573717\n",
+ " Decision Tree 3.824216 0.826131 -0.756537 1.446579\n",
+ "\n",
+ "🏆 Best Model by K-Fold CV: Gradient Boosting\n",
+ " MAE: 3.3027 ± 0.8887\n",
+ " R²: -0.1023 ± 0.5154\n",
+ "\n",
+ "✅ Saved: models/kfold_cv_results.csv\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"🔄 K-FOLD CROSS-VALIDATION\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "# Prepare data for K-Fold CV\n",
+ "print(\"\\n📏 Preparing data for K-Fold CV...\")\n",
+ "\n",
+ "# Check for non-numeric columns\n",
+ "non_numeric_cols = X_train.select_dtypes(exclude=['int64', 'float64']).columns.tolist()\n",
+ "if non_numeric_cols:\n",
+ " print(f\" ⚠️ Dropping {len(non_numeric_cols)} non-numeric columns: {non_numeric_cols}\")\n",
+ " X_train_cv = X_train.drop(columns=non_numeric_cols).copy()\n",
+ "else:\n",
+ " X_train_cv = X_train.copy()\n",
+ "\n",
+ "# Identify columns to scale\n",
+ "binary_cols = [col for col in X_train_cv.columns if X_train_cv[col].nunique() == 2 and set(X_train_cv[col].unique()).issubset({0, 1})]\n",
+ "onehot_cols = [col for col in X_train_cv.columns if col.startswith('loai_ca_')]\n",
+ "cols_to_scale = [col for col in X_train_cv.columns if col not in binary_cols and col not in onehot_cols]\n",
+ "\n",
+ "print(f\" Binary columns (no scaling): {len(binary_cols)}\")\n",
+ "print(f\" One-hot columns (no scaling): {len(onehot_cols)}\")\n",
+ "print(f\" Numeric columns (will scale): {len(cols_to_scale)}\")\n",
+ "\n",
+ "# Scale numeric columns\n",
+ "scaler_cv = StandardScaler()\n",
+ "if cols_to_scale:\n",
+ " X_train_cv[cols_to_scale] = scaler_cv.fit_transform(X_train_cv[cols_to_scale])\n",
+ " print(f\" ✅ Scaled {len(cols_to_scale)} numeric features\")\n",
+ "\n",
+ "# Initialize KFold\n",
+ "kf = KFold(n_splits=5, shuffle=True, random_state=RANDOM_STATE)\n",
+ "\n",
+ "# Models to test\n",
+ "cv_models = {\n",
+ " 'Linear Regression': LinearRegression(),\n",
+ " 'Decision Tree': DecisionTreeRegressor(max_depth=10, min_samples_split=5, random_state=RANDOM_STATE),\n",
+ " 'Random Forest': RandomForestRegressor(n_estimators=100, max_depth=15, min_samples_split=5, random_state=RANDOM_STATE, n_jobs=-1),\n",
+ " 'Gradient Boosting': GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, random_state=RANDOM_STATE),\n",
+ " 'XGBoost': xgb.XGBRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, random_state=RANDOM_STATE, n_jobs=-1),\n",
+ " 'LightGBM': lgb.LGBMRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, num_leaves=31, random_state=RANDOM_STATE, n_jobs=-1, verbose=-1)\n",
+ "}\n",
+ "\n",
+ "# Run K-Fold CV\n",
+ "cv_results = []\n",
+ "print(\"\\n🤖 Running 5-Fold CV...\")\n",
+ "\n",
+ "for model_name, model in cv_models.items():\n",
+ " print(f\"\\n Testing {model_name}...\")\n",
+ " \n",
+ " fold_maes = []\n",
+ " fold_r2s = []\n",
+ " \n",
+ " for fold, (train_idx, val_idx) in enumerate(kf.split(X_train_cv), 1):\n",
+ " X_fold_train = X_train_cv.iloc[train_idx]\n",
+ " y_fold_train = y_train.iloc[train_idx]\n",
+ " X_fold_val = X_train_cv.iloc[val_idx]\n",
+ " y_fold_val = y_train.iloc[val_idx]\n",
+ " \n",
+ " model.fit(X_fold_train, y_fold_train)\n",
+ " y_pred = model.predict(X_fold_val)\n",
+ " \n",
+ " mae = mean_absolute_error(y_fold_val, y_pred)\n",
+ " r2 = r2_score(y_fold_val, y_pred)\n",
+ " \n",
+ " fold_maes.append(mae)\n",
+ " fold_r2s.append(r2)\n",
+ " \n",
+ " mean_mae = np.mean(fold_maes)\n",
+ " std_mae = np.std(fold_maes)\n",
+ " mean_r2 = np.mean(fold_r2s)\n",
+ " std_r2 = np.std(fold_r2s)\n",
+ " \n",
+ " cv_results.append({\n",
+ " 'Model': model_name,\n",
+ " 'Mean_MAE': mean_mae,\n",
+ " 'Std_MAE': std_mae,\n",
+ " 'Mean_R2': mean_r2,\n",
+ " 'Std_R2': std_r2\n",
+ " })\n",
+ " \n",
+ " print(f\" MAE: {mean_mae:.4f} ± {std_mae:.4f}\")\n",
+ " print(f\" R²: {mean_r2:.4f} ± {std_r2:.4f}\")\n",
+ "\n",
+ "# Create results DataFrame\n",
+ "cv_results_df = pd.DataFrame(cv_results).sort_values('Mean_MAE')\n",
+ "\n",
+ "print(\"\\n\" + \"=\"*80)\n",
+ "print(\"📊 K-FOLD CV RESULTS SUMMARY\")\n",
+ "print(\"=\"*80)\n",
+ "print(cv_results_df.to_string(index=False))\n",
+ "\n",
+ "best_cv_model = cv_results_df.iloc[0]['Model']\n",
+ "print(f\"\\n🏆 Best Model by K-Fold CV: {best_cv_model}\")\n",
+ "print(f\" MAE: {cv_results_df.iloc[0]['Mean_MAE']:.4f} ± {cv_results_df.iloc[0]['Std_MAE']:.4f}\")\n",
+ "print(f\" R²: {cv_results_df.iloc[0]['Mean_R2']:.4f} ± {cv_results_df.iloc[0]['Std_R2']:.4f}\")\n",
+ "\n",
+ "# Save results\n",
+ "cv_results_df.to_csv('models/kfold_cv_results.csv', index=False)\n",
+ "print(\"\\n✅ Saved: models/kfold_cv_results.csv\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d69b6c4e",
+ "metadata": {},
+ "source": [
+ "# 8️⃣ Feature Selection\n",
+ "\n",
+ "**Mục đích:** Tìm best features sử dụng 3 phương pháp: Random Forest, Mutual Information, Correlation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 105,
+ "id": "e017e7db",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "🔬 FEATURE SELECTION\n",
+ "================================================================================\n",
+ "\n",
+ "📏 Preparing data for feature selection...\n",
+ " Dropping 14 non-numeric columns: ['loai_hinh', 'muc_do_luu_luong', 'is_morning_shift', 'is_afternoon_shift', 'is_evening_shift', 'is_night_shift', 'has_special_areas', 'loai_ca_24/24', 'loai_ca_Ca chiều', 'loai_ca_Ca gãy', 'loai_ca_Ca sáng', 'loai_ca_Ca đêm', 'loai_ca_Hành chính', 'loai_ca_Part time']\n",
+ " ✅ Scaled 49 numeric features\n",
+ "\n",
+ "🌲 Method 1: Random Forest Feature Importance\n",
+ " Top 10 features:\n",
+ " hour_end : 0.1723\n",
+ " hour_start : 0.0724\n",
+ " num_other_tasks : 0.0590\n",
+ " num_trash_collection_tasks : 0.0461\n",
+ " tasks_per_hour : 0.0430\n",
+ " cleaning_ratio : 0.0391\n",
+ " tasks_per_floor : 0.0354\n",
+ " dien_tich_wc : 0.0352\n",
+ " num_tasks : 0.0332\n",
+ " total_area : 0.0308\n",
+ "\n",
+ "📊 Method 2: Mutual Information\n",
+ " Top 10 features:\n",
+ " cleaning_workload : 0.2850\n",
+ " num_cleaning_tasks : 0.2775\n",
+ " num_trash_collection_tasks : 0.2717\n",
+ " tasks_per_hour : 0.2396\n",
+ " num_tasks : 0.2319\n",
+ " num_other_tasks : 0.2167\n",
+ " task_complexity_score : 0.2143\n",
+ " hour_start : 0.2017\n",
+ " total_area : 0.1944\n",
+ " num_support_tasks : 0.1777\n",
+ "\n",
+ "📈 Method 3: Correlation with Target\n",
+ " Top 10 features:\n",
+ " num_trash_collection_tasks : 0.3996\n",
+ " tasks_per_hour : 0.3622\n",
+ " num_tasks : 0.3622\n",
+ " cleaning_workload : 0.3603\n",
+ " num_cleaning_tasks : 0.3483\n",
+ " num_monitoring_tasks : 0.3214\n",
+ " num_technical_room_tasks : 0.3189\n",
+ " num_support_tasks : 0.3113\n",
+ " task_complexity_score : 0.3106\n",
+ " num_other_tasks : 0.3059\n",
+ "\n",
+ "🎯 Aggregating Feature Scores...\n",
+ "\n",
+ "📋 Top 20 Features (by average score):\n",
+ " dien_tich_phong : 0.7402\n",
+ " tasks_per_hour : 0.6650\n",
+ " num_trash_collection_tasks : 0.6648\n",
+ " num_surgery_room_tasks : 0.6385\n",
+ " dien_tich_hanh_lang : 0.6369\n",
+ " area_diversity : 0.6214\n",
+ " num_lobby_tasks : 0.6026\n",
+ " hour_end : 0.5416\n",
+ " dien_tich_ngoai_canh : 0.4777\n",
+ " monitoring_ratio : 0.4716\n",
+ " num_patient_room_tasks : 0.4620\n",
+ " num_monitoring_tasks : 0.4545\n",
+ " tasks_per_floor : 0.4460\n",
+ " work_hours_numeric : 0.4020\n",
+ " trash_collection_ratio : 0.3944\n",
+ " dien_tich_tham : 0.3927\n",
+ " so_tang : 0.3817\n",
+ " so_ca_cua_toa : 0.3730\n",
+ " dien_tich_wc : 0.3634\n",
+ " num_wc_tasks : 0.3597\n",
+ "\n",
+ "================================================================================\n",
+ "🔬 TESTING WITH DIFFERENT NUMBERS OF FEATURES\n",
+ "================================================================================\n",
+ "\n",
+ "📌 BASELINE (All 49 Features):\n",
+ " Val MAE: 3.6346, R²: -0.0129\n",
+ "\n",
+ "================================================================================\n",
+ "🔬 Testing with Top 20 Features\n",
+ "================================================================================\n",
+ "\n",
+ "📋 Selected features:\n",
+ " 1. dien_tich_phong (score: 0.7402)\n",
+ " 2. tasks_per_hour (score: 0.6650)\n",
+ " 3. num_trash_collection_tasks (score: 0.6648)\n",
+ " 4. num_surgery_room_tasks (score: 0.6385)\n",
+ " 5. dien_tich_hanh_lang (score: 0.6369)\n",
+ " 6. area_diversity (score: 0.6214)\n",
+ " 7. num_lobby_tasks (score: 0.6026)\n",
+ " 8. hour_end (score: 0.5416)\n",
+ " 9. dien_tich_ngoai_canh (score: 0.4777)\n",
+ " 10. monitoring_ratio (score: 0.4716)\n",
+ " ... and 10 more\n",
+ "\n",
+ "🤖 Training models...\n",
+ " Random Forest : MAE=3.6661 (-0.0315), R²=0.0374\n",
+ " Gradient Boosting : MAE=3.7772 (-0.1426), R²=-0.0601\n",
+ " XGBoost : MAE=3.6416 (-0.0071), R²=0.0158\n",
+ " LightGBM : MAE=3.7484 (-0.1138), R²=0.0495\n",
+ "\n",
+ "================================================================================\n",
+ "🔬 Testing with Top 25 Features\n",
+ "================================================================================\n",
+ "\n",
+ "📋 Selected features:\n",
+ " 1. dien_tich_phong (score: 0.7402)\n",
+ " 2. tasks_per_hour (score: 0.6650)\n",
+ " 3. num_trash_collection_tasks (score: 0.6648)\n",
+ " 4. num_surgery_room_tasks (score: 0.6385)\n",
+ " 5. dien_tich_hanh_lang (score: 0.6369)\n",
+ " 6. area_diversity (score: 0.6214)\n",
+ " 7. num_lobby_tasks (score: 0.6026)\n",
+ " 8. hour_end (score: 0.5416)\n",
+ " 9. dien_tich_ngoai_canh (score: 0.4777)\n",
+ " 10. monitoring_ratio (score: 0.4716)\n",
+ " ... and 15 more\n",
+ "\n",
+ "🤖 Training models...\n",
+ " Random Forest : MAE=3.6149 (+0.0197), R²=0.0681\n",
+ " Gradient Boosting : MAE=3.7803 (-0.1457), R²=-0.0520\n",
+ " XGBoost : MAE=3.7601 (-0.1255), R²=-0.0180\n",
+ " LightGBM : MAE=3.7434 (-0.1088), R²=0.0423\n",
+ "\n",
+ "================================================================================\n",
+ "🔬 Testing with Top 30 Features\n",
+ "================================================================================\n",
+ "\n",
+ "📋 Selected features:\n",
+ " 1. dien_tich_phong (score: 0.7402)\n",
+ " 2. tasks_per_hour (score: 0.6650)\n",
+ " 3. num_trash_collection_tasks (score: 0.6648)\n",
+ " 4. num_surgery_room_tasks (score: 0.6385)\n",
+ " 5. dien_tich_hanh_lang (score: 0.6369)\n",
+ " 6. area_diversity (score: 0.6214)\n",
+ " 7. num_lobby_tasks (score: 0.6026)\n",
+ " 8. hour_end (score: 0.5416)\n",
+ " 9. dien_tich_ngoai_canh (score: 0.4777)\n",
+ " 10. monitoring_ratio (score: 0.4716)\n",
+ " ... and 20 more\n",
+ "\n",
+ "🤖 Training models...\n",
+ " Random Forest : MAE=3.6134 (+0.0212), R²=0.0712\n",
+ " Gradient Boosting : MAE=3.8167 (-0.1821), R²=-0.0845\n",
+ " XGBoost : MAE=3.8264 (-0.1918), R²=-0.0368\n",
+ " LightGBM : MAE=3.6914 (-0.0568), R²=0.0629\n",
+ "\n",
+ "================================================================================\n",
+ "🔬 Testing with Top 35 Features\n",
+ "================================================================================\n",
+ "\n",
+ "📋 Selected features:\n",
+ " 1. dien_tich_phong (score: 0.7402)\n",
+ " 2. tasks_per_hour (score: 0.6650)\n",
+ " 3. num_trash_collection_tasks (score: 0.6648)\n",
+ " 4. num_surgery_room_tasks (score: 0.6385)\n",
+ " 5. dien_tich_hanh_lang (score: 0.6369)\n",
+ " 6. area_diversity (score: 0.6214)\n",
+ " 7. num_lobby_tasks (score: 0.6026)\n",
+ " 8. hour_end (score: 0.5416)\n",
+ " 9. dien_tich_ngoai_canh (score: 0.4777)\n",
+ " 10. monitoring_ratio (score: 0.4716)\n",
+ " ... and 25 more\n",
+ "\n",
+ "🤖 Training models...\n",
+ " Random Forest : MAE=3.6404 (-0.0058), R²=0.0730\n",
+ " Gradient Boosting : MAE=3.9151 (-0.2805), R²=-0.1125\n",
+ " XGBoost : MAE=3.8845 (-0.2499), R²=-0.0521\n",
+ " LightGBM : MAE=3.8490 (-0.2144), R²=0.0009\n",
+ "\n",
+ "================================================================================\n",
+ "🔬 Testing with Top 40 Features\n",
+ "================================================================================\n",
+ "\n",
+ "📋 Selected features:\n",
+ " 1. dien_tich_phong (score: 0.7402)\n",
+ " 2. tasks_per_hour (score: 0.6650)\n",
+ " 3. num_trash_collection_tasks (score: 0.6648)\n",
+ " 4. num_surgery_room_tasks (score: 0.6385)\n",
+ " 5. dien_tich_hanh_lang (score: 0.6369)\n",
+ " 6. area_diversity (score: 0.6214)\n",
+ " 7. num_lobby_tasks (score: 0.6026)\n",
+ " 8. hour_end (score: 0.5416)\n",
+ " 9. dien_tich_ngoai_canh (score: 0.4777)\n",
+ " 10. monitoring_ratio (score: 0.4716)\n",
+ " ... and 30 more\n",
+ "\n",
+ "🤖 Training models...\n",
+ " Random Forest : MAE=3.6265 (+0.0081), R²=0.0785\n",
+ " Gradient Boosting : MAE=3.8842 (-0.2496), R²=-0.0892\n",
+ " XGBoost : MAE=3.9312 (-0.2966), R²=-0.0725\n",
+ " LightGBM : MAE=3.7473 (-0.1127), R²=0.0294\n",
+ "\n",
+ "================================================================================\n",
+ "🏆 BEST FEATURE SELECTION RESULT\n",
+ "================================================================================\n",
+ " 🤖 Model: Random Forest\n",
+ " 📋 Features: 30 selected\n",
+ "\n",
+ " 📈 Best Model Performance:\n",
+ " Val MAE: 3.6134\n",
+ " Val R²: 0.0712\n",
+ "\n",
+ " 📊 Comparison with Baseline:\n",
+ " Baseline MAE: 3.6346 | R²: -0.0129\n",
+ " Best MAE: 3.6134 | R²: 0.0712\n",
+ " MAE Improvement: 0.0212 (0.58%)\n",
+ " R² Improvement: 0.0842 (+8.42%)\n",
+ "\n",
+ "✅ Saved: models/feature_selection_results.csv\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"🔬 FEATURE SELECTION\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "# Prepare data\n",
+ "print(\"\\n📏 Preparing data for feature selection...\")\n",
+ "\n",
+ "# Drop non-numeric columns\n",
+ "non_numeric_cols_fs = X_train.select_dtypes(exclude=['int64', 'float64']).columns.tolist()\n",
+ "if non_numeric_cols_fs:\n",
+ " print(f\" Dropping {len(non_numeric_cols_fs)} non-numeric columns: {non_numeric_cols_fs}\")\n",
+ " X_train_fs = X_train.drop(columns=non_numeric_cols_fs).copy()\n",
+ " X_val_fs_temp = X_val.drop(columns=non_numeric_cols_fs).copy()\n",
+ "else:\n",
+ " X_train_fs = X_train.copy()\n",
+ " X_val_fs_temp = X_val.copy()\n",
+ "\n",
+ "# Identify columns to scale\n",
+ "binary_cols_fs = [col for col in X_train_fs.columns if X_train_fs[col].nunique() == 2 and set(X_train_fs[col].unique()).issubset({0, 1})]\n",
+ "onehot_cols_fs = [col for col in X_train_fs.columns if col.startswith('loai_ca_')]\n",
+ "cols_to_scale_fs = [col for col in X_train_fs.columns if col not in binary_cols_fs and col not in onehot_cols_fs]\n",
+ "\n",
+ "# Scale\n",
+ "scaler_fs = StandardScaler()\n",
+ "if cols_to_scale_fs:\n",
+ " X_train_fs[cols_to_scale_fs] = scaler_fs.fit_transform(X_train_fs[cols_to_scale_fs])\n",
+ " X_val_fs_temp[cols_to_scale_fs] = scaler_fs.transform(X_val_fs_temp[cols_to_scale_fs])\n",
+ " print(f\" ✅ Scaled {len(cols_to_scale_fs)} numeric features\")\n",
+ "\n",
+ "# Method 1: Random Forest Feature Importance\n",
+ "print(\"\\n🌲 Method 1: Random Forest Feature Importance\")\n",
+ "rf_selector = RandomForestRegressor(n_estimators=100, max_depth=15, random_state=RANDOM_STATE, n_jobs=-1)\n",
+ "rf_selector.fit(X_train_fs, y_train)\n",
+ "\n",
+ "rf_importance_df = pd.DataFrame({\n",
+ " 'feature': X_train_fs.columns,\n",
+ " 'importance': rf_selector.feature_importances_\n",
+ "}).sort_values('importance', ascending=False)\n",
+ "\n",
+ "print(f\" Top 10 features:\")\n",
+ "for i, row in rf_importance_df.head(10).iterrows():\n",
+ " print(f\" {row['feature']:40s}: {row['importance']:.4f}\")\n",
+ "\n",
+ "# Method 2: Mutual Information\n",
+ "print(\"\\n📊 Method 2: Mutual Information\")\n",
+ "mi_scores = mutual_info_regression(X_train_fs, y_train, random_state=RANDOM_STATE)\n",
+ "mi_importance_df = pd.DataFrame({\n",
+ " 'feature': X_train_fs.columns,\n",
+ " 'importance': mi_scores\n",
+ "}).sort_values('importance', ascending=False)\n",
+ "\n",
+ "print(f\" Top 10 features:\")\n",
+ "for i, row in mi_importance_df.head(10).iterrows():\n",
+ " print(f\" {row['feature']:40s}: {row['importance']:.4f}\")\n",
+ "\n",
+ "# Method 3: Correlation with target\n",
+ "print(\"\\n📈 Method 3: Correlation with Target\")\n",
+ "correlations = X_train_fs.corrwith(y_train).abs().sort_values(ascending=False)\n",
+ "corr_df = pd.DataFrame({\n",
+ " 'feature': correlations.index,\n",
+ " 'importance': correlations.values\n",
+ "})\n",
+ "\n",
+ "print(f\" Top 10 features:\")\n",
+ "for i, row in corr_df.head(10).iterrows():\n",
+ " print(f\" {row['feature']:40s}: {row['importance']:.4f}\")\n",
+ "\n",
+ "# Aggregate scores\n",
+ "print(\"\\n🎯 Aggregating Feature Scores...\")\n",
+ "aggregated = pd.DataFrame({\n",
+ " 'feature': X_train_fs.columns,\n",
+ " 'rf_score': rf_importance_df.set_index('feature')['importance'],\n",
+ " 'mi_score': mi_importance_df.set_index('feature')['importance'],\n",
+ " 'corr_score': corr_df.set_index('feature')['importance']\n",
+ "})\n",
+ "\n",
+ "# Normalize scores to [0,1]\n",
+ "for col in ['rf_score', 'mi_score', 'corr_score']:\n",
+ " aggregated[col] = (aggregated[col] - aggregated[col].min()) / (aggregated[col].max() - aggregated[col].min())\n",
+ "\n",
+ "aggregated['avg_score'] = aggregated[['rf_score', 'mi_score', 'corr_score']].mean(axis=1)\n",
+ "aggregated = aggregated.sort_values('avg_score', ascending=False)\n",
+ "\n",
+ "print(f\"\\n📋 Top 20 Features (by average score):\")\n",
+ "for i, row in aggregated.head(20).iterrows():\n",
+ " print(f\" {row['feature']:40s}: {row['avg_score']:.4f}\")\n",
+ "\n",
+ "# Test with different numbers of features\n",
+ "print(\"\\n\" + \"=\"*80)\n",
+ "print(\"🔬 TESTING WITH DIFFERENT NUMBERS OF FEATURES\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "X_val_fs = X_val_fs_temp.copy()\n",
+ "\n",
+ "# Test feature counts\n",
+ "top_k_values = [20, 25, 30, 35, 40, 50]\n",
+ "feature_selection_results = []\n",
+ "\n",
+ "# Baseline: all features\n",
+ "baseline_model = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, random_state=RANDOM_STATE)\n",
+ "baseline_model.fit(X_train_fs, y_train)\n",
+ "baseline_pred = baseline_model.predict(X_val_fs)\n",
+ "baseline_mae = mean_absolute_error(y_val, baseline_pred)\n",
+ "baseline_r2 = r2_score(y_val, baseline_pred)\n",
+ "\n",
+ "feature_selection_results.append({\n",
+ " 'num_features': X_train_fs.shape[1],\n",
+ " 'feature_set': 'All Features',\n",
+ " 'model': 'Gradient Boosting',\n",
+ " 'val_mae': baseline_mae,\n",
+ " 'val_r2': baseline_r2\n",
+ "})\n",
+ "\n",
+ "print(f\"\\n📌 BASELINE (All {X_train_fs.shape[1]} Features):\")\n",
+ "print(f\" Val MAE: {baseline_mae:.4f}, R²: {baseline_r2:.4f}\")\n",
+ "\n",
+ "# Test with top-k features\n",
+ "for k in top_k_values:\n",
+ " if k >= X_train_fs.shape[1]:\n",
+ " continue\n",
+ " \n",
+ " print(f\"\\n{'='*80}\")\n",
+ " print(f\"🔬 Testing with Top {k} Features\")\n",
+ " print(f\"{'='*80}\")\n",
+ " \n",
+ " selected_features = aggregated.head(k)['feature'].tolist()\n",
+ " X_train_selected = X_train_fs[selected_features]\n",
+ " X_val_selected = X_val_fs[selected_features]\n",
+ " \n",
+ " print(f\"\\n📋 Selected features:\")\n",
+ " for i, feat in enumerate(selected_features[:10], 1):\n",
+ " score = aggregated[aggregated['feature'] == feat]['avg_score'].values[0]\n",
+ " print(f\" {i:2d}. {feat:40s} (score: {score:.4f})\")\n",
+ " if k > 10:\n",
+ " print(f\" ... and {k-10} more\")\n",
+ " \n",
+ " # Test multiple models\n",
+ " models_to_test = {\n",
+ " 'Random Forest': RandomForestRegressor(n_estimators=100, max_depth=15, min_samples_split=5, random_state=RANDOM_STATE, n_jobs=-1),\n",
+ " 'Gradient Boosting': GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, random_state=RANDOM_STATE),\n",
+ " 'XGBoost': xgb.XGBRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, random_state=RANDOM_STATE, n_jobs=-1),\n",
+ " 'LightGBM': lgb.LGBMRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, num_leaves=31, random_state=RANDOM_STATE, n_jobs=-1, verbose=-1)\n",
+ " }\n",
+ " \n",
+ " print(\"\\n🤖 Training models...\")\n",
+ " for model_name, model in models_to_test.items():\n",
+ " model.fit(X_train_selected, y_train)\n",
+ " y_val_pred = model.predict(X_val_selected)\n",
+ " \n",
+ " val_mae = mean_absolute_error(y_val, y_val_pred)\n",
+ " val_r2 = r2_score(y_val, y_val_pred)\n",
+ " \n",
+ " feature_selection_results.append({\n",
+ " 'num_features': k,\n",
+ " 'feature_set': f'Top {k}',\n",
+ " 'model': model_name,\n",
+ " 'val_mae': val_mae,\n",
+ " 'val_r2': val_r2\n",
+ " })\n",
+ " \n",
+ " improvement = baseline_mae - val_mae\n",
+ " print(f\" {model_name:20s}: MAE={val_mae:.4f} ({'+' if improvement > 0 else ''}{improvement:.4f}), R²={val_r2:.4f}\")\n",
+ "\n",
+ "# Find best result\n",
+ "fs_results_df = pd.DataFrame(feature_selection_results)\n",
+ "best_idx = fs_results_df['val_mae'].idxmin()\n",
+ "best_result = fs_results_df.loc[best_idx]\n",
+ "\n",
+ "print(\"\\n\" + \"=\"*80)\n",
+ "print(\"🏆 BEST FEATURE SELECTION RESULT\")\n",
+ "print(\"=\"*80)\n",
+ "print(f\" 🤖 Model: {best_result['model']}\")\n",
+ "print(f\" 📋 Features: {int(best_result['num_features'])} selected\")\n",
+ "print(f\"\\n 📈 Best Model Performance:\")\n",
+ "print(f\" Val MAE: {best_result['val_mae']:.4f}\")\n",
+ "print(f\" Val R²: {best_result['val_r2']:.4f}\")\n",
+ "print(f\"\\n 📊 Comparison with Baseline:\")\n",
+ "print(f\" Baseline MAE: {baseline_mae:.4f} | R²: {baseline_r2:.4f}\")\n",
+ "print(f\" Best MAE: {best_result['val_mae']:.4f} | R²: {best_result['val_r2']:.4f}\")\n",
+ "print(f\" MAE Improvement: {baseline_mae - best_result['val_mae']:.4f} ({(baseline_mae - best_result['val_mae'])/baseline_mae*100:.2f}%)\")\n",
+ "print(f\" R² Improvement: {best_result['val_r2'] - baseline_r2:.4f} ({'+' if best_result['val_r2'] > baseline_r2 else ''}{(best_result['val_r2'] - baseline_r2)*100:.2f}%)\")\n",
+ "\n",
+ "# Save results\n",
+ "fs_results_df.to_csv('models/feature_selection_results.csv', index=False)\n",
+ "print(\"\\n✅ Saved: models/feature_selection_results.csv\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "27452d46",
+ "metadata": {},
+ "source": [
+ "# 9️⃣ Final Training với Best Features\n",
+ "\n",
+ "**Mục đích:** Train model cuối cùng với best model + best features. Combine train+val data để train, evaluate trên test set."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "08e1918d",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "🎯 FINAL TRAINING WITH BEST FEATURES\n",
+ "================================================================================\n",
+ "\n",
+ "📋 Best Configuration:\n",
+ " Model: Random Forest\n",
+ " Number of Features: 30\n",
+ "\n",
+ "📏 Preparing scaled data...\n",
+ " Dropping 14 non-numeric columns\n",
+ " ✅ Scaled 49 numeric features\n",
+ "\n",
+ "📋 Using Top 30 Selected Features:\n",
+ " 1. dien_tich_phong (score: 0.7402)\n",
+ " 2. tasks_per_hour (score: 0.6650)\n",
+ " 3. num_trash_collection_tasks (score: 0.6648)\n",
+ " 4. num_surgery_room_tasks (score: 0.6385)\n",
+ " 5. dien_tich_hanh_lang (score: 0.6369)\n",
+ " 6. area_diversity (score: 0.6214)\n",
+ " 7. num_lobby_tasks (score: 0.6026)\n",
+ " 8. hour_end (score: 0.5416)\n",
+ " 9. dien_tich_ngoai_canh (score: 0.4777)\n",
+ " 10. monitoring_ratio (score: 0.4716)\n",
+ " 11. num_patient_room_tasks (score: 0.4620)\n",
+ " 12. num_monitoring_tasks (score: 0.4545)\n",
+ " 13. tasks_per_floor (score: 0.4460)\n",
+ " 14. work_hours_numeric (score: 0.4020)\n",
+ " 15. trash_collection_ratio (score: 0.3944)\n",
+ " ... and 15 more\n",
+ "\n",
+ "📊 Dataset Shapes:\n",
+ " Train+Val: (356, 30) (356 samples)\n",
+ " Test: (89, 30) (89 samples)\n",
+ "\n",
+ "🤖 Initializing Random Forest...\n",
+ "🔄 Training on Train+Val data...\n",
+ " ✅ Training completed!\n",
+ "\n",
+ "🔮 Predicting on Test set...\n",
+ "\n",
+ "================================================================================\n",
+ "📊 FINAL TEST SET RESULTS\n",
+ "================================================================================\n",
+ "\n",
+ "🎯 Model: Random Forest\n",
+ "📋 Features: 30 selected features\n",
+ "\n",
+ "📈 Test Set Performance:\n",
+ " MAE: 2.9597\n",
+ " MSE: 22.5281\n",
+ " RMSE: 4.7464\n",
+ " R²: 0.4147\n",
+ "\n",
+ "📊 Comparison with Baseline:\n",
+ " ⚪ Baseline (All features): MAE=3.6346 | R²=-0.0129\n",
+ " 🎯 Final Model (30 features): MAE=2.9597 | R²=0.4147\n",
+ "\n",
+ " 📈 Improvement:\n",
+ " MAE giảm: 0.6749 (18.57%)\n",
+ " R² tăng: 0.4276 (+42.76%)\n",
+ "\n",
+ "📊 Creating visualizations...\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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cxlJWrt2rXr16qWGDRuqbt26atu2rSZMmCCHw3HVY2SxWNSxY0f3mwAHDx687PE7d+7U4MGD1aRJE9WrV0/dunXTvHnzcjyvS52XAcCVWM0OAAD/RFZWlj7++GP395UrV85x+/l99mw2m6KiopSVlaX7779f27Ztk9VqVVBQkHbs2KFhw4YpPT1d9913nyTphRde0KeffipJCggI0KpVq7Ru3bo8Zfrggw80fvx4Sec+ppmenq6vv/5amzZt0oIFCxQUFKSgoCBlZGTI19dX5cqVU0BAgEezlShRQl26dNGMGTO0aNEi9erVS5KUmprqvm/37t119uxZ3X///Tp06JBsNpuCg4N1+PBhzZ49W3v37r3iqpjzL0q7deumli1b6uOPP9Yvv/yijRs3qkGDBu7j9u3bp549eyo9PV2+vr4KCAjQ9u3bNXToUDkcDjVt2lRhYWHuF/ilS5dW6dKl8zT+582ZM0fPP/+8JCk0NFRnzpzRzz//rOHDhys8PFw33XTTP3o8AAAAwBMcDof27NmjFStWSJJ7RbokjR071v0aPDQ0VIcPH9bkyZO1Z88eTZo0SZI0atQoLVu2TD4+PgoNDVVaWppWrlypTZs2admyZZd8Hb1kyRL997//lXRu25Q9e/boP//5z79+Hrt27VK/fv3kcDgUGBgom82m33//Xe+9956CgoL08MMP/+vHls69oTBv3jylpqZKyn3ud6Eff/xR8fHxOnv2rHx9fVWiRAlt375dI0eO1K+//qqnnnrqkudlAJAXrEQHUOAtWrRIsbGxatq0qRo0aKDPPvtMktwrDC7k4+OjL7/8UsnJybrnnnu0cOFCbdu2TeHh4Vq9erWSk5Pdew6+8cYbOnv2rI4dO+ZePX3nnXcqJSVFa9asUZUqVa6YLS0tTW+//bYk6T//+Y82btyoxMREXXfddTp58qS++uorPfDAA+rXr58kqUKFCkpMTFSHDh08nu3OO++UJG3atMm959+XX34pp9OpqlWrKjo6Wrt27dKhQ4fk5+entWvXKikpSZ999pluvvlmhYeHKyMj45KPn5KSon379snX11d33HGHatSooTp16kjKvRr9zTffVHp6uqpVq6bExESlpKS4V5rPnj1bFSpUyLFi/I033nCfJOTV0aNHVbNmTY0YMULJyclKTk5WpUqVJImLiAIAAMBUs2fPdq8Mr1Onjm6//Xb98ccfKl26tPsTor/99ptmzJghm82mefPmKTk5Wd98843CwsK0fPlybd68WZLc2ym+++67SkpK0urVqxUbG6vY2FgdOXLkkhneeecdSeeK9mvWrFFKSoratWv3r5/Tb7/9pnr16qlz585av369UlJS1KFDB0n619tu/v7774qNjVWzZs1Uv359jRo1SpJUrlw5de/e/ZL3e/bZZ3X27FndeOONWrNmjTZs2KDHH39ckjR16lT99NNPlzwvA4C8YCU6gALvzJkzOnPmjHx8fFSiRAlVqlRJnTt3zrWliiTdfPPNuv766yWd2/rl+++/lyQdPnxYXbt2zXFsWlqatm7dqrS0NGVnZ0uShgwZIqvVqjJlyqh3794aPXr0ZbP9+OOPyszMlCT169dPFotFZcqU0SeffKLSpUvLz8/vkvf1dLaaNWuqdu3a2rZtmxYvXqxHHnlEixYtkiTFxcVJkqpUqaLAwECdPn1ad911l2JjY9WwYUNNnjxZpUqVuuzjn7+g6C233KLy5ctLOre6/aefftLSpUs1cuRIhYSE5HiuPXr0ULly5SRJjz/+uAYMGJBvezQOHDhQAwcO1JEjR7Rs2TJt2rRJ6enpknTZNwMAAAAATytZsqQCAgJ0/PhxSZKvr68ee+wx3XnnnSpbtqykc6+ZDcOQy+XSgAED3Pc9deqUpHNbp9x4442qWbOmNmzYoOHDh6tFixaKjo7Ws88+615AcjEZGRn65ZdfJEl9+/Z1r1YfNGjQv76mUbt27dSuXTtlZGQoKSlJmzdv1s8//yzp3+897nQ63W8EnL84avPmzdW/f/9Lnjf8/vvv7n6HDBniPq5///6aM2eODh48qBUrVrgX/ADAv0ERHUCB17NnT40ZMyZPx4aFheX4/vz+gpmZme5i94WOHDkip9Mp6dwq9vMFXunc6oQrOb9vuI+PT46i8/mi8uV4Opt0rqh9vojeqVMnbd68Wb6+vu6ifalSpfThhx9q/Pjx2rBhgxISEpSQkCCbzaaePXtq9OjRslgsuR43IyNDy5YtkyStXr1akZGROW632+364osv3FvSnB+nCz9aGhQUlKfncDHnx+VC27Zt09NPP62ffvpJNptNtWvXdr+JYRjGv+4LAAAAuFpdunTRmDFjtGPHDvXr10+HDx/W/PnzcyymOX9+kJ2dfdEV5YcPH5Ykvf7663rppZf0zTffaMGCBe5PdDZt2lTjx4+/aLH5wkUlF54zXe684u+voV0uV47vU1NT9eyzz2rFihVyuVyKiIiQzWa76H3zKjw83H2ekVfHjh1zf33hli8Wi0WVKlXSwYMH3W9eAMC/xXYuAIoUf3//HN+ff4HYvn177dy5Uzt37tT27du1efNm7dy5U506dVJoaKikcy8KL7xg5+U+Cnne+cK5y+XKccGe9evX6+uvv3Zvo3Ixns4mnXux7u/vr19//VXvvvuupHMvri8s8tevX1/vvfee1q1bp0mTJql3794yDEMzZszQ0qVLL/q4X3755UUL/xeaPXu2++vz43Rh7tTUVM2dO1ebN29Wdnb2RYv1ktztf7+Y0oWys7M1YMAA/fTTT+rfv79SUlI0e/ZsXXfddZfNCAAAAHhTVFSUxo8fLx8fH+3bt09PPPGEuzh9/vygTJky7vODnTt3auPGjdq5c6d7YVH58uX1/PPPu7eDHDRokMqVK6e1a9deckvEkJAQ9+vqC1+TX+y84vxxF14c9MyZM7kWsrzwwgtavny5YmJitG7dOi1ZskStWrX6t0Pzr1242OjC8y/DMPTHH39Iyr3YCgD+KYroAIq0hg0bSpK+++47bdmyRZI0a9Ys1a9fXx06dFB6erpuvPFG94qJN998Uw6HQ8ePH9e0adOu+Pj169d3F+4nT54sl8ulkydPavTo0Ro0aJBmzZol6dyFe6Rzq85dLpecTqfHs0nnXiyf3+fw/JXnL9xLcOnSpYqOjlaLFi104sQJtW/fXoMGDXKvGD9/EZ+/O7+VS6dOnbRx48Yc/87vtbhr1y73XuQxMTGSpM8++0xHjhyRYRj64IMPNGrUKA0cOFDSuY+0nnfhi/TzBfjNmzfL4XDI5XLp888/z5Hn1KlT7pU55cqVk7+/v1JSUrR9+3ZJuVfNAAAAAGZp2LCh+/pAKSkpmjlzpqRzW1P6+PgoNTXV3fbzzz+rUaNGatasmVJSUnTw4EE1a9ZMN998s77++mvdcsst6t+/v+rWrSvp0q/fS5Ys6b6A6dSpU3XixAk5HA698cYbuY49//r7zz//dBelz59LXGjnzp2SpMDAQPdFUL/66itJ3n39XblyZVWvXl3SuVX6qampMgxD7777rg4ePCiLxaJbb71V0sXPywAgLyiiAyjSbr/9dlWvXl12u109evRQo0aNNGbMGLlcLrVs2VLBwcEKDQ11X5V+zpw5io6OVmxsrHsLkssJCQlx71f4ySef6Oabb1azZs20b98+lS1b1v3i+PzHClNTU9WwYUPNnDnT49nOO3+BUcMwFBoaqtatW7tva968ucqWLauMjAx16tRJMTExatq0qY4eParQ0FC1adMm1+Pt2rXLXfTv2LGjAgMDc/xr0aKF+yOk51ejDxw4UIGBgfr999/VsmVLNWzYUFOnTpUkPfroo/L19VWpUqXce6g/9thjuvvuuyX9VYDfs2ePWrRooVatWuW6UGiZMmVUtWpVSedWxDRq1Ej33nuve/V6WlpanscLAAAA8LQhQ4a4zxEmTpyoP//8U1WrVnUveBkzZoyio6PVvXt3OZ1OVaxYUfXr19e1117rXowzdOhQNWrUSNHR0Vq5cqUsFov72kcXM3jwYPn4+Gjbtm1q2rSpGjZsqK+//jrXtZAaN24sHx8fORwOdenSRR06dNArr7ySY2tGSWrQoIEkafny5WrUqJFat26tffv2SfL+6++nn35aNptNmzdvVrNmzdSgQQNNnDhR0rlrV0VFRUm6+HkZAOQFRXQARZqfn58SEhJ01113KSwsTGfOnFHVqlU1bNgwDRs2zH3ckCFDNGTIEF1zzTWyWCxq0aKF3nvvvTz10a9fP40dO1Y1atSQw+FQqVKl1L59e02fPt29x2BsbKw6deqkwMBAWa1WlSxZ0ivZpHMvgqtUqSLp3JsKF17sNCgoSDNmzFCvXr107bXXKiMjQ+XKldNtt92mTz75RBUrVsz1eOdXoQcGBqp58+a5brdarbrtttsknVvpnp6eroiICM2ePVutWrVSyZIllZ2drdq1a+vVV19Vz549JZ3b933kyJHuPs+/mO/Zs6ceeughlSlTRpmZmbrpppv04Ycf5ur37bffVuPGjd1j27FjRz3yyCOSpHXr1uV5vAAAAABPCwgI0AsvvCCLxaKMjAy9+OKLkqRnnnlGjz/+uKpWrSq73a6yZcuqV69emjJlivuTm6+88or++9//qnr16srKylJAQIAaNmyo999/Xy1btrxkny1atNCbb76pG264Qb6+vqpevbo+/PBDXXPNNTmOq1Gjhl566SVVqVJFLpdLpUqV0kcffaRrr702x3HDhg1T165dFRoaKovFoptvvlljx46VJP3666953oIy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9+7Rya9WyVW+gkf6YQ4KBubBfMxB3qxbt0YLpieooqyKqRalcsEhOpaepqTdO3RITsXF91FMTNN//fhXmoewsOB//diAmbx9vlEY8XfYOxhn72CcvYNx9jzG2DsYZ+/I6zjn5ZzD4yvRDx48qB49eqhnz55KTU2VYRgqW7asnE6ntmzZov9n787joyrP/o9/zizJZJksJJAEZEki+6JURCJCQKu2trYCrlixLrXVn7WudevydLXW2j7airW1KqFaawVsae3jCoTNQFARkTUB2RMSskyWyWzn90dMTEjIApnMTPJ9v159VU5muedMJnPu677u65o0aVKwhyAiEvas2z4h8bqrse7bC4Dzlhuoeu11+Kwhs4hIKBQXF7FscR65acOYO/W85ibxALnjJrGkYDVL8xaRnp6hjHQJuvfff58RI0YwYMAAXnvtNf773//yhS98gVtuuaXV76aIiIiISE+zBPsJLrjgAiorKwEYMGAAKSkpQGPD0euuuy7YTy8iEvai/vsfki75YnMA3T8ojdof/kQBdBEJudX5K8nA1iaADmAYBvPOmUEGNvLzV4RohNJfvPzyy1x77bXs2LGDnTt38uCDD+L1enn++ed56qmnQj08EREREenjgpKJ/uKLL/Lcc88BYJom8+bNa65n2KS6uprBgwcH4+lFRCKDaRL7xOPEPvIzjM8qa3nPmEz1opcIDFbtVxEJLa/Xy9bCQuZkjz1hlq9hGORkj2HZxkK88xeo2agEzaJFi/jBD35ATk4OTzzxBCNHjuS5554jPz+f//mf/+H2228P9RBFREREpA8LShB97ty5VFRUYJomTz31FF/60peIi4trdZu4uDguuuiiYDy9iEj4q6/Hedf/w7H01eZD7jnzcP3uKYiNDeHAREQaud31mD4vqc6EDm+X4kzA9Plwu+sVRJegOXDgAOeffz4Aa9euZebMmQCcfvrplJWVhXJoIiIiItIPBCWIHhMT05wNYhgGN910EzExMc0/b2hoIDo6OhhPLSIS9iyHDpJw/Xzsmz9oPlb74A+pu/NelXARkbDhcMRg2OyUuao7vF25qxrDZsPhiOnwdiKnIiUlhdLSUux2Ox9//DF33XUXANu3byc1NTXEoxMRERGRvi7oNdFvuukmfvzjH/P00083H7vooov4wQ9+gMfjCfbTi4iEHfvqVc0BdDM2jqpFf6PurvsUQBeRsGK32xk/ZQrri7ZjflZy6nimabK+aDvjz56iLHQJqq985Svce++93HjjjaSnpzN16lRef/11Hn74Yb7yla+EengiIiIi0scFPYj+yCOPsHnzZs4+++zmYz/4wQ/YuHEjv/vd74L99CIiYafhqvnUfes7+IcNp+L1t/F8WZN/EQlPM2bO4jA+lm5Y0yaQbpomSwpWcxgfM2fODtEIpb+45557WLBgAdOmTeP555/HarVSXl7OlVdeyZ133hnq4YmIiIhIH2eYJ0ot6iHTp0/nqaee4swzz2x1vLCwkLvuuovVq1cH8+lP6OhRV68+X1SUFY/H36vPKa3pPQgP/fJ9MM22WeY+H0Z1FeaAlF4fTr98D8KQ3ofQ03vQNevXr2Vp3iIysJGTPYYUZwLlrmrWF23nMD7mLrienJzpJ/34nb0PAwc6T/qxRUKpt+cbkUh/h3uHznPv0HnuHTrPwadz3Dt0nntHV89zV+YcQamJ3lJdXR1OZ9uBJCcn43LpwlJE+jbDVY3z1ptxX3kNnq/N+fwHNltIAugiIt2VkzOd9PQM8vNXsGxjIabPh2GzMX7aFObMnE1mZlaohyj9xKpVq/jLX/5CcXExf//731myZAnDhg3jsssuC/XQRETwer24XDU4HDEqcSYi0gcFPYg+efJknnnmGR555BGsVivQuP130aJFTJw4MdhPLyISMpbiIhIXXI1t5w6iVq+ickQmvklnhnpYIhHL6/XidtdrchoCmZlZZGZm4Z2/QO+BhMTatWu5/fbb+cpXvsKHH35IIBDA7/fz0EMP4ff7mTdvXqiHKCL9VHFxEavzV7Lt/U34PR4MW2NPkZm5WmgWEelLgh5Ev/vuu7nuuusoLCxk/PjxGIbB1q1bqays5Lnnngv204uIhIQ9fyUJNy/AUlkJgBkdjVFTE9pBiUSopsnp1sJCTJ9Xk9MQstvtCp5LSPz+97/nnnvu4Zvf/CZvvPEGAHfddRcJCQk8//zzCqKLSEisW7eGZYvzyMDGnJFjGBCXQJmrmvUFm1hYUMDcBdczZcpULUCLiPQBQQ+iT5gwgeXLl/PKK6+wc+dObDYbX/3qV7n22msZNGhQsJ9eRKR3mSaO5/5M/A/ux/A31t3yjRpN1eK/E1CwT6TbWk1Os8eS6mw7OT2VetwiEhl27NjBr3/96zbHL7roIp588skQjEhE+rvi4iKWLc4jN20Yc6eeh81qwR9obDmXO24SL658kyd+/lOSBg7E6XAoCUBEJMIFPYgOcNppp3H33Xf3xlOJiISOx0P8Q98nJu/zXTYNF16M649/wXQmhHBgIpHp+Mmp0aJBb+64SSwpWM3SvEWkp2doMirSxzmdTkpKShg2bFir47t27SIxMTFEoxKR/mx1/koysLW5RgEoLS0h2+pgiA/ivfCNnPOUBCAiEuGCEkR/8MEHefjhh4mPj+fBBx/s8LaPPPJIMIYgItKrjPJyEm66jqh1a5qP1d1+J7UP/xg+6wchIt3T0eTUMAzmnTODXctfIT9/hYLoIn3cpZdeyi9+8Qt+8YtfYBgGtbW1rFq1ip/97GdccskloR6eiPQzXq+XrYWFzMke2+YaxVVdzZ6dOxkS5+TKM87hteKtjB48lAk2m5IAREQiWFCC6AcOHCAQCDT/t4hIn2aaJM6fh/2D9xv/GR2N6/EnabjymhAPTCRydTQ5bWIYBjnZY1i2sRDv/AWqMyrSh915550cOXKkufb5nDlzME2TWbNmcdddd4V4dCLS37jd9Zg+L6nt7DY9fOQQcRhkDkynxu8l4A9Q7/Vgt9mUBCAiEsGCEkRfvHhxu/8tItInGQa1P/45iZd/jcCAFKoXvYTvrLNDPSqRiNbR5LSlFGcCps+H212vILpIH2a323n88ce544472LZtG4FAgFGjRjF48GAef/xxHnrooVAPUUT6EYcjBsNmp8xV3ep4IBCg4uhRRiQmgQFldTVYrBZi7FHNt1ESgIhIZApKEP3QoUNdvu3gwYODMQQRkV7lPfc8qp95Ht9ZUwgMHhLq4YhEvBNNTo9X7qrGsNlwOGJ6aWQi0lsaGhp47LHH+Pe//43VauXrX/869957L8OHDwdgzZo13HLLLRw5ckRBdBHpVXZ7Y5PQ9QWbyB03qXnXnN/vwwwEcNijME2TdfuKmJA5ErutdehFSQAiIpEnKEH0888//4Rbr4+3bdu2YAxBRCR46utxvJSH+8ZboMXfOs+lXw/hoET6lhNNTlsyTZP1RdsZP22KJqAifdDjjz/Oyy+/zNe+9jWioqJ4+eWXcTqdfPvb3+bnP/85f/vb3xg2bBiLFi0K9VBFpB+aMXMWTxcUsHTDGuZOPQ8wsFptGBYL9Z4G3ineTklDPVeOP7PNfZUEICISeYISRM/Ly2v+7x07dvCHP/yB2267jcmTJ2O32/noo4946qmnuO2224Lx9CIiQWM5fIiEBddg3/wBlooK6u59INRDEumzjp+ctgykm6bJkoLVHMbHnJmzQzhKEQmWt99+m4cffphrrmnsMTJr1ix+8YtfcPjwYV599VVuvPFGvve97xEVFdXJI4mI9LysrGzmLriepXmL2Ln8FaaPHENyXAK7aipZvHE1trg4rphxAVlpGa3upyQAEZHIZJimaQbzCebOncutt97KhRde2Or4ihUr+PWvf81///vfYD79CR096urV54uKsuLx+Hv1OaU1vQfhIZLfB9umjSRcPx9raQkAgXgnx977AHPQoBCPrHsi+T3oS/Q+dM369WtZmreIDGzkZI8hxZlAuaua9UXbOYyPuQuuJydn+kk9tt6D8NDZ+zBwoLMXRyPhZOLEibz++usMHToUAL/fz8SJE0lMTOR///d/Oeecc0I8wo719nwjEunvcO/QeQ6uPXuKyc9fwbZNm/B7vNQ1uDlw6CBfHzeZ71x4abtJAPml+7nt+w+osehJ0O9z8Okc9w6d597R1fPclTlHUDLRWyoqKuL0009vc3zYsGEcPnw42E8vItIjov/xMs67v4vR0ACAf9hwqvJejrgAukikycmZTnp6Bvn5K1i2sRDT58Ow2Rg/bQpzZs7W5FOkD/N6vcTGxjb/22q1Eh0dzYMPPhj2AXQR6T8yM7PIzMzC+OYNVFfX4HDEUFi4gaV5i/jV8ldOmASgaxgRkcgS9CD66NGjycvL40c/+lHzCqzP5+OZZ55h4sSJwX56EZFT4/cT9/P/IfapJ5oPec49j+q/LMZMSQnhwET6j6bJqXf+AtzuehyOGG1/FunHzjjjjFAPQUROktfr7bPf5Xa7HaczAVASgIhIXxT0IPr3v/99brrpJlavXs24ceMwTZMtW7ZQX1+vJkAiEtYMVzXO79xE9FtvNB+rX3AjNb/8Naj+qkivs9vtfW7CLSIda6+psMViCcFIRORUFBcXsTp/JVsLCzF9XgxbYwPxmbl9N6CsJAARkb4l6DXRAfbv388rr7zCrl27ABg7dizXXHMNg0JYBkE10fsfvQfhIVLeB8v+fSReMw/bzh0AmFYrNb/4Ne4bvxXikZ26SHkP+jq9D6Gn9yA8qCa6nMiYMWO45JJLiI6Obj62fPlyzj//fOLi4lrd9pFHHunt4XVKNdE7p7/DvSPU53ndujUsW5zX3N8k1ZlAWQ/1NwknoT7P/YXOc/DpHPcOnefeEVE10QGGDh3KPffcg8fjwW63t5tRIiISTsykJPjsb1UgOZnqZ/PwzsgN7aBERET6kbPPPpujR4+2OjZ58mQqKiqoqKgI0ahEpDuKi4tYtjiP3LRhzJ16XqtYQO64SSwpWM3SvEWkp2f02Yx0ERHpG3oliP63v/2NZ599lsOHD/PGG2/w7LPPMnDgQG6//fbeeHoRkW4znQlU5b2M83u34XpiIQFd1IuIiPSqxYsXh3oIInKKVuevJANbmwA6NJZrmnfODHYtf4X8/BUKoouISFgLekHB5cuX8/jjj3PZZZc11//Kzs7mT3/6E3/+85+D/fQiIl3j8WCUlbU6FMjMouqf/1UAXURERESkm7xeL1sLC8nJHnPC3eiGYZCTPYatGwvxer29PEIREZGuC3oQ/bnnnuPhhx/mu9/9bnMToAULFvCTn/yEf/zjH8F+ehGRThllZSRe8XUS58+D+vrjfqjyUyIiIiIi3eV212P6vKQ6Ezq8XYozAdPnw+2u7/B2IiIioRT0IPqePXuYMmVKm+NTpkzhyJEjwX56EZEOWbd+TPKXZhO1fi32Dz/A+f27Qj0kEYlAXq8Xl6taWXQiIiKfcThiMGx2ylzVHd6u3FWNYbPhcMT00shERES6L+g10VNTUykuLmbo0KGtjr///vsMGjQo2E8vInJCUa//m4TbvoVRVwuAPy2d+m/eFOJRiUgkKS4uYnX+SrYWFmL6vBg2O+OnTGFm7mzVdhURkX7Nbm/8TlxfsInccZPaLelimibri7YzftqU5vKvIiIi4SjomehXXXUVP/nJT3jzzTcBKC4u5qWXXuKXv/wl8+bNC/bTi4i0ZZrE/vbXJH5zfnMA3XvmZCrfXInvrLNDPDgRiRTr1q3h6ccepbxgE3NGjOWWyecxZ8RYygs2sfDXv2L9+rWhHqKIiEhIzZg5i8P4WLphDaZptvqZaZosKVjNYXzMnDk7RCMUERHpmqBnon/rW9/C5XJx33330dDQwLe//W1sNhtXX3013/72t4P99CIirdXV4bzzNhyvLW0+5J57Oa7fPQUx2kIqIl1TXFzEssV55KYNY+7U81pl1+WOm8SSgtUszVtEenqGMtJFJOJ4vV7c7nocjhhlB8spycrKZu6C61mat4idy18hJ3sMKc4Eyl3VrC/azmF8zF1wvb4rRUQk7AU9iL5hwwa++93vcuutt7J7925M0yQrK4v4+PhgP7V0gS6QpT+xHDpIwvXzsW/+AADTMKh96EfU33G3GoiKSLeszl9JBrY2AXQAwzCYd84Mdi1/hfz8FQoMiEjEUIkqCYacnOmkp2eQn7+CZRsLMX0+DJuN8dOmMGdm7/xuad4rIiKnKuhB9DvuuIO//OUvjB8/nokTJwb76aSLdIEs/ZHjxbzmAHogLh7X08/i+dIlIR6ViEQar9fL1sJC5mSPbbe+KzQG0nOyx7BsYyHe+Qs0YReRsLdu3RqWLc4jAxtzsseS6kygzFXN+oJNLCwo4Gvzr+XMMycrCCknJTMzi8zMLLzzF/RqMFvzXhER6SlBD6KnpKTgcrmC/TTSDZ1dIM9dcD05OdNDPUyRHld39/exvV+Ibdcuqha/jH/suFAPSUQikNtdj+nzkupM6PB2Kc4ETJ8Pt7teAScRCWsdlagampLK//5nCT+//16ys0cSn5ioIKScNLvd3mvfiZr3iohITwp6EP28887j29/+Nrm5uQwfPpzo6OhWP7/99tuDPQRpQTVcpV+zWnE98xx4fZgpKaEejYhEKIcjBsNmp8xV3eHtyl3VGDYbDof6LYhIeDtRiao127ewZPW7DImK4Qsjz2TQkMHEDUhREFLCnua9IiLS0yzBfoK33nqLlJQUPv74Y/7zn/+wdOnS5v8tW7Ys2E8vx+lKDdcMbOTnrwjRCEV6hlFdRcIN38D2waZWx82ERAXQReSU2O2NW8HXF23HNM12b2OaJuuLtjP+7CnKQheRsNZUoione0yr+UFRySGWrH6XmUNG8NDsr3DJuDNItdiZOXYiD1x6JTMHDWVp3iL27CkO4ehF2qd5r4iI9LSgZ6K/++67wX4K6SLVcJX+wlJcROKCq7Ht3IGtcAOVb60ikJ4R6mGJSB8yY+Ysni4oYOmGNW0m6KZpsqRgNYfxMWfm7BCOUkSkcycqUbVq62bSomOYN2EKhmHgsEdhBgL4/T7s9qg+00BZDSf7Hs17RUQkGIIWRC8pKeGtt94iOjqamTNnkpaWFqynki5SDVfpD+z5K0m4eQGWykoADE8Dlv37FEQXkR6VlZXN3AXXszRvETuXv0JO9hhSnAmUu6pZX7Sdw/iYu+D6iA4siUj/0F6JKq/Px8d7dnFZ9vjmIKTb68GwWLBaG6eQkR6E7CsNJ7UI0JbmvSIiEgxBCaIXFhbyrW99i/r6egDi4uJ44oknOO+884LxdNJFquEqfZpp4vjLM8T/8EEMvx8A3+gxVOW9TCCCJkIiEjlycqaTnp5Bfv4Klm0sxPT5MGw2xk+bwpyZkRWEEZH+q7lEVcEmcsdNwjAM6r0eAv4AA+OcjTcyobSqkuS0gVgsn1cEjdQgZF9oONlXFgGCQfNeEREJhqAE0Z988kmmTZvGT37yE6xWKz/96U/51a9+xb///e9gPJ10UXsXyMdrruE6TTVcJYJ4PMQ/eC8xi19oPtRw0ZdwPf0sZicZKCIipyIzM4vMzCy88xcoE1BEItbxJapi7FFYrBaO1rrAhOLSw9RiMiJjcKv7RWIQsi80nOwLiwDBpHmviIgEQ1Aai27bto177rmHQYMGkZKSwkMPPURRURE1NTXBeDrphhkzZ3EYH0s3rGnTDK1lDdeZfayGq9frpbq6Gq/XG+qhSA8zyspIvPxrrQLodd+9i+pFf1MAXUR6jd1ux+lM0ERcRCJSU4mqVSX7+NXyV1i7YyvJicn8d/tHfLB3N4fra8kcNQpni2urSG2gHOkNJ1suAjxw6ZXMGn8GE4ZlMmv8GWr42kJ/nfeKiEjwBCUTvba2lqSkpOZ/p6WlYbfbqaqqIj4+PhhPKV3U32q4ttzmiN8HVpu2OfYlHg9Jl16ErWg3AGZ0NK7f/YGGy68K8cBEREREIsvxJaqqGmrYX3aIIccyWHD+l0lISGy+baQ2UO4LDSe7sgjQFxq+nqr+Nu8VEZHgC0oQPRAItPlCt1qtBAKBYDyddFN/qeF6/DbHtMRESqqqtM2xL4mKov72O3HedTv+tHSqF72E7wtTQj0qERERkZA7mYaTx5eo+vDDD/jXSy/y1Mr/6xNByEhvONkXFgF6U3+Z94qISO8IShBdwl9fr+HaXq1Dq8VgbMCMmFqH0jXuaxdg1NXS8NWvEziuTqeIiIhIf9MTDSftdjt2u50ZM3I57bShfSYIGekNJyN9ESAU+vq8V0REek/QgujPPfccMTGfX3T4fD7y8vJITExsdbvbb789WEOQLmi6QO5rtM2xj6qrI+qdN/Fcelmrw/XfujU04xER6WdOJrNVRHpPdxpOdvXz3JeCkJHecDLSFwFCqa/Oe0VEpPcEJYg+ePBg/vvf/7Y6NnDgQN55551WxwzDUBBdepy2OfZNlkMHSbh+PvbNH1D95xdo+PrcUA9JRKTf6InMVhEJrvZ2YjZpuRPT6/Wyp7io25/nvhKEnDFzFk8XFLB0w5o25ynca71H+iKAiIhIJAtKEP3dd98NxsOKdIm2OfY9tsINJF4/H8vRUgDiH7yPhgu/BLGxIR6ZiEjf153MVhEJna7sxHznud+z8NFHmDosu99+niO94WQkLwKIiIhEMtVElz5H2xz7lui/v4TznjswPB4A/MNGULX4ZQXQRUR6QVczW9VjRCS0urITs7j0MK6qSqalpnPvVy7HarU2/6y9z3NfLt8UyQ0nI30RQEREJFIpiC59jrY59hF+P3E/+zGxC59sPuSZPoPqZ/MwU1JCODARkf5DPUZEIkNXdmKu2rqZLGcyM0eMIhDwtwqit/w8L13yCqmpA/t8+aZIrvUeyYsAIiIikUpBdOmTtM0xshnVVTi/cxPRb7/ZfKz++puo+eWvIUImNyIikU49RkQiR2c7Mb0+Hx/v2cWM9KFYrFas1rbTQMMwGDNgEE8sXcIXJ57FnJHjmsu9rFm/kf9ds4bLr/8mM2bkBvvl9KpIrfUeyYsAIiIikUhBdOmT2tvmOCghgdJqbXMMd5Y9xSRedxW2nTsAMK1Wan7xa9w3fivEIxMR6V/UY0QkcnS2E7Pe68HvD4A/QPLAgVgsljaP4aqupq6snEFRMXz3oq+RGBtHUckhincforzsKMfKj/Lz++/lormXM3feFbqO7gVdKakTqYsAIiIikUZBdOmzjt/mSMAHFm1zDHtWK5byMgACyclUP5uHt49lPImIRAL1GBGJLB3txHTY7ByqPMaRhBS+mDG43fsfPnIIj9vNkJSBxEZFs2b7Fpasfpe06BjmnD6egZOcvFe8k4/Wb2BhUVG/aEIaKsXFRazOX9nnS+qIiIhEEgXRpU9ruc3R7/dgtUYpUyPMBYYNp/ovi4l/+H6qnltMQBMFEZGQUI8RkcjSWcNJV5SVfX438fHONvcNBAIcKy1lZ+VRJo4aw77yUpasfpeZQ0Ywb8KU5s//AEcMY6sr2G8NqKlwkKxbt4Zli/PIwMac7LHNJXXWF2xiYUGBFi9ERERCpO0+PpE+yG63k5CQoAl+OPJ4oK6u1SHvuedR8c5qBdBFREJsxsxZHMbH0g1rME2z1c9a9hiZqR4jImEhJ2c6t33/AVKmncWyvdv48wdrWbZ3GynTzuKeh39ErTO23c+zz+dl5e5tlHrqmTX+TFZt3UxadEyrADqAwx4FpsnXz8ohAxv5+St6+yX2acXFRSxbnEdu2jAeuPRKZo0/gwnDMpk1/gweuPRKZg4aytK8RezZUxzqoYqIiPQ7ykQXkZAxyspIuPEbmKkDqX52EbSsz9lOrU4REeldnWW2qseISPjpqOGk3W5v9/O8dvcnvHtgN3OnTGdoykA+3rOLy7LHt9mB4vZ6MCwWbDa7mgoHwer8lWRga1OOBxobv847Zwa7lr9Cfv4K/d0VERHpZQqii0hIWLd+TOKCq7Hu3wdA7O8eo+6e+0M8KhEROd7xPUZMnw/Dph4jIuGuvYaTJ/w855zNBSMzqd79KXWeBgL+AAPjjiv7YkJpVSXJaY2NSdVUuGd5vV62FhYyJ3tsu+WzoDGQrsULERGR0IjIIPqxY8e46qqr+PnPf84555wDwObNm/n5z3/O7t27SU5O5tZbb+WKK64I8UhFpD1R/1lOwv+7BaOuFgB/Wjqe2ReEeFQivcfr9eJ216pPg0SMjjJbRSSynOjzXFxcxNOPPcr/fbgRw2LhaK3r8zuZUFx6mFpMRnzWmFRNhXuW212P6fOS6kzo8HZdWbxovM7Q32oREZGeFHFB9E2bNvHAAw+wb9++5mNVVVXccsst3HHHHVx11VVs3LiR//f//h+jR49m0qRJIRytiLRimkQ/9iiOX/y0+ZD3zMlUL/obgc8mZCJ9WXFxEavzV7K1sBD8PrDaGD9lCjNzlc0rkaG9zFYRCb26ujoqKyuIi4vH7a6nocFNauogYmNjT3if4z/PLcs3ldRU8d/tHzFp0BAafF5KqyqpxSRz1CiczoQeaSqsBeXWHI4YDJudMld1h7fraPGi5XWG6fNi2BobRH/xwi8yZMjwYA1dRESkX4ioIPqyZct48sknue+++7jrrruaj7/55pskJSVx7bXXApCTk8Oll17Kiy++qCC6SLioq8P5vdtw/HNp8yH33Ctw/e4PEKMMJun71q1bw7LFeWRgY072WNISEympqmJ9wSYWFhQwd8H15ORMD/UwRUQkgqxatYKXX1rMrg8/pLKqiopaF057NA67HcNuJ2PkSG77f3fwxS9e1KXHayr3snTpK7yzdCl/3LCKWaePZUDaIEZkDG4OoDc1FZ5zEk2FtaDcPru9MeC9vmATueMmtVvSpaPFi+OvM1KdCZS5qllfsIknN27gsm8s0HWGiIjIKYioIPp5553HpZdeis1maxVE37VrF6NGjWp129NPP51XX321t4coIu2wHDxAwvXzsX/0IQCmYVD78I+p/+5dcIKajyJ9SXFxEcsW55GbNqy5WZjVYjA2YJI7bhJLClazNG8R6ekZ/TqAICIS7srLy/nhD3/Ihg0bsFqtfO1rX+P+++/HZuv9adWf/vQ0r73wPKNiExgZFc/HVDEwMZW4qChshgVPwE/l9p1876ZvEpM6gMd+8wSzu1A+LzMzi3vueYCpU3NYmvcC75QfZHpyIg0V5ZTv23NKTYW1oNyxGTNn8XRBAUs3rGnTXLSjxYv2rjOa5I6bxLINus4QERE5VREVRB84cGC7x2tra4k5LpPV4XBQV1d3wsey2629Gruz2ay992TSLr0HoRPz+K8+D6DHx1P35+fxf/kSokI7rH5Ln4Xet35dPoMtNq6YNqN5YmtYDBrfCYMrc2aye/nfWbd2FaNHjwzlUPsVfRbCg94HiSR33nknaWlprF69mrKyMm699VZeeOEFbr755l4dx6pVK3jthee5InMc6TFx/HL1/5EW52TSwAzOHZxJrN3Gzooy3jv0Kd6An2Nl5cy/ei7jJ0ziV48+TlZWNk5nQodlVGbMyOW004b2WFPhk1lQ7m+1vVuW1Nm5/BVysseQ4kyg3FXd4eLF6vyVZGBrE0CHxmakl0+byY5//p38/BUKoouIiJykiAqin0hMTAwul6vVMbfbTVxc3Anv4/X6gz2sNjye3n9OaU3vQWh4f/JLkgo3YtTXU/fyP3Bnjwa9FyGlz0Lv8Xq9bH5vA3MyxxIwAdMEwAr4A2bz7aZljmHZexuoveob/SJQEC70WQgPeh8kEnz66ads2LCB/Px8YmJiGDp0KLfddhuPPfZYrwfRX35pMWOdycyfNJUbXn2OuKgoLh81iStGn0FJXQ2fVldwdvpQLs0ax3+Kt/HXTzaR5IjBtW8/37x8DkaUjYwhpzHrwou54oqrGDlydLvP05NNhTsL9M47Zwa7lr9Cfv4KTNNst7Z3fyj50lRSp6uLF16vl62FhczJHttuCRhoPL852WNYtrEQ7/wFus4QERE5CX0iiD5q1CjWrl3b6tju3bsZOVLZfCLhwHQmUPXiPzDj4rCnD1IAXfoVt7se0+cl1ZnQ4e1SnAmYPh9ud70mtyIiYWjXrl0kJSWRlpbWfCw7O5tDhw5RXV1NQkLrv/MxT/+BmD/+odPH9U06g+rFf291LOG6q7B9tLnd25umyVNHjxIfFYUrOo5dFUe5YNhIvn76BNx1tYz6+9OMtViwWSwETJP/Fwhwg9cDQLTVhifgw+P2c4svwL/z8nhjyT+Y9dVLufP0UWT/5ledjteMi6Ni3aZWx+L+5wdEL+uglKZpcmNVJdWjxrcJ9Mb9+C6MqgoAfuT1Urv8H1gsFsYYBlFWGxaLQSBg8s89e1uVfLHu3kXivEs7HS9A5ZsrCaSlN//bkfc8sY8/2un9/NmnU7X0362OOb9zE/b1a09wj8+5v3E9dfc92OrYgDPGdGm89oV/JvP6m5oXLxLe30TyHbfCbx9rc1vTDPB4ZRVxUVHYrTZq/veFVj+PWvY3ola9wcV+H+d5PCTkv4NhWNo8jjdnOq4//qXVscS5X8VatLvT8dbdcz/uBTc0/9tScoSki2Z16bVWLVmO//TP5+3RS14h7qc/6vR+gUFpVL61qtWx+Hu+R9Tbb3R634Y5l1P7Pz9vdSz53LMwams7vW/NY7/Dc9GXm/9t2/wBCQuuARqrVJrmie4JFWs3YsY7m/8drL8RLdV/53bqb729+d9GjYvk6Wd3ej+A6ry/4TtjcvO/o978L/H33dXBPRqd1N+Iz3i+eDE1jz/R6ljShblYSkua/32i81z7o5/SMO/K5n/35b8RroV/xjt9RvO/7WtX47ztW12677HN21v9O/axR3D8dVGrY+2dY/2NOPW/Ecc7/jzrb0TP/I04XtN57vRvxKGDnT5/nwiiX3jhhTz22GO88MILXHvttWzatInly5ezcOHCUA9NpN8xqquIf/h+ah/8IYHBQ5qPB4YOC+GoRELH4YjBsNkpc1V3eLtyVzWGzYbDoUa7IiLhqL0Skk3/rquraxNEt9XVYD18qNPHNU87jaio1mWNrMfKO7xvGkC9j7K6amwWC1MzhhFrj2Jb2WFGuD8vaWmhccLnaDrg89K0V/e6MWdyMHEAxxrq2ba2gP+89x53dWW8Tmeb8dpcVZ2+1gGA6fdhtXweRDcsBkZVBZaKcgBiPvtfey6bOBm3I4bX/prHsGGnkW0EunR+AewWMFuM2eau69p9ExPbvjeVx7p0X1utq+19uzregBcjykpUlJW4OAc2i9nhfQcAuOsbn8PSepHC6q7FUlFONBANcKS+3ccIVB5rO96yo117re66Vvc1LN14rUYAa8v3xtvQpfsaBm1/D6sruzZeV1Xb11pyBOO43e3t3tfngRb3tZr+rr9Wm6XVfYP5N6Llc7S6r83S9fGafiwtx+vzdG28J/k3Ahrfwzav9WgJlq7c19vQ6nNu6Qd/I5ofK+Dt8n3bvDe1ri7dV38j9DeizXj70d+I5sfo1q3DVHJyMs899xy/+MUvePLJJxkwYAA/+MEPmDZtWqiHJtKvWIt3k3Dd1dh27cS67RMq//V/EBsb6mGJhJTd3rgFfX3BJnLHTWp3q7Vpmqwv2s74aVOUhS4iEqZiY2Opr28dgGz6d3tlJH2x8fgzBnf6uP4BKW1KGjkGpGCc4L6maVL+WSY60bFYDQtx9sZOM9UNHryx8dgsFryBAKZpEmW14vH7qfE0YHyW3R1ttTLttGw+jYunzF3HhLQh1OzcTInNhs1qw7AY2KOiiI6Kxnpc01QzLq7NeO3ORKwdvVbTpKqqEpfVhr1FKTMrYCYmE/js31V1tQQCAZJbZOI1CURFM2fqDHYsf4W3336bYdNndun8AngDEGgxZosjtmvvTerANq81OmkAli7c1xfnbHNfz8BBNHga8Ho88NlpsEdFER3d+jx7LXa8Le5rWuwdjreurpaAx4vTEdOqVByA3xGHNTkFl7seS5Sd2Nj2S576kwa0Ga8/dSBkVHX+Wh2xre5rCdD198a04G9xX8Me3aX7BgamtRlvVEJS194bZ2Lb15qWjtHO712b+9qiWt3XZlibx9tZJrrXF8BscV9rkP5GtBpvbHyr+xq+QNffG8OKr+Xz2qK6dN+T+hvRNN6EpLbvzcC0Vuf1ROfZZ49udV+raYm4vxFdHm83/0a0dPxz2uKc2I67b3vnWH8jTv1vxPGOP8/6G9EzfyOO13SeO/sb0ZUuTYZpdvRUfdfRo52vIPWkqCir6n2GmN6D4LKvWkHCt67HUlkJQCA5mcol/8Y/YWKr2+l9CD29B72vuLiIpx97tE0zNX/AxDRNlhSsJr90P7d9/4E+X+s1nOizEB46ex8GDux8wiLSG/bu3cvFF1/M2rVrSU1NBeD111/n0UcfZdWqVW1uH8z5xq3fvpHYvQf5Se5X+dpff8/Voydz/YQpvF96kDMHDiYlJo71hz4lM3EAg+MTeGPPDv530yrOyRjOvWfPorS+FofNRsCAD0sO4Qv4SYyJ5T/7dhE3MJXzxk5q1cgyJ2f6KY950Qt/obxgEw9cemXzgnLTdyGAx+vl6796iGunzuQbF5+4BMPKrZtZtncbv/jdkxG18Lxu3RqWLc4jucHHyIQBWBs8VNbV8uGRA5Ta4MqbbubSSy87qdrz7V1nNDFNk2UbVrOyRNcZwabrit6h8xx8Ose9Q+e5d3T1PHdlztEnMtFFJIRMk5hn/0jcjx7C8Df+YfKNHkNV3ssEdJEuAkBWVjZzF1zP0rxF7Fz+CjnZYxiUkEBpdXWrIIUmtiIi4WvEiBGcddZZ/PKXv+SnP/0pFRUVLFy4kMsvv7zXx3L1/Ot49MH7+cfWTUwZPJz1h/aSOzQLTKj3efEFAoCJw2ajwe9j7cE9eAMBZg7NImCaYJpYDANfIIDf72NoQhIZSSn4Yxz8c88nTB89ntxxk1hSsJqleYtIT8/gtNOGnlJz0RkzZ/F0QQFLN6xpN9D79/Ur8WAycnhmh48TiT1EiouLWLY4jzOjExiblEC8YWFQRhIOexRzxp7JH9a+w69++DBL8hYxOD29241U27vOSHEmUO5qvM4osfh1nSEiInKKFEQXkZPn8RD/wD3EtGhE0nDxl3Et/DNmJ00URfqbnJzppKdnkJ+/gmUbCyHgA4uN8dOmMGdm1ybJIiISWk8++SQ//elPueCCC7BYLFx22WXcdtttvT6O3NzZ7LrxRv7x3HNkWKP41FXJ37Z/yPTBI9jnqiQ1Jg6/aVLlruf14m0crq0mI85Jakw8NV4PJiYOWxR7j5WQEO0gLS4Bi8UgNc5JwB+g3ushwRbLvHNmsOXVPB791c9JsEdj+rzNAd5zp88gPT29y0H1zhaUDwY8ZAwfQb2/42yxk+0h4vV6T2kR4FSszl9JcoOPsUkJDIlzkjkwHT5bQ1i95zC1vgZyBg7m9CgnM0ZPpt7vZ33BplaNVDtz/HWG6fNh2BqvM6764hcZMmR4kF+liIhI36YguoicFKOsjIQbv0HUe+uaj9XdcTe1D/4QrF2pJiXS/2RmZpGZmYV3/gL8fg9Wa1TEZNGJiAikpqby5JNPhnoYANx883cYPXosL764iLp15Swv2srOY6V8IW0I+6srqGhws3hrIXaLlavHTOa13VvYW1VOfFQ0dqsNh91OeV0tpyUkgWEQHRNDedlhLFYLMZ/VWC8tLSHdb2HD9o+49uvXkJ6UzP6Sw7y5/HX+/udnSMnIICN9cJezpjtbUM5ftaLHe4gUFxexOn8lWwsLWy0CdDXL+1R5vV62FhZydsIA4g1LqwB6UXkp//iwgNzTsskZPJzNJQdJMqycM35Cm50AXRlry+uMlgsGKhkgIiJy6hREF5FuM6qrSL54Ftb9+wAwo6Nx/e4PNFx+VYhHJhIZ7HY7cXEOTWhFROSUzJiRy4wZudTV1bFly2aWLnmFvGVLcZgGMZ81qpw7ahJDnYnE2Oys2LebCQMzSI2LZ1/VMTwBP3aLFYvNSkxMLOv2FTEhcyR2mw1XdTV7du7k9KQURqUNYerIMdRXV1Pj9nHDqDPZmDCAdUf2MS1xEHu7kTXd0YKyaZodlnxZUrCaw/iYM3N2l85PUx3yDGzMyR5LqjOBMld1qyzvKVOmBjVD3e2ux+/xYPXbGZSR1BxAB1hZtI30mDjmjTmTivpaom12yktLCYwcjcViYd45M9i1/BXy81d0K+Bvt9u1SH+KQrlzQUREwpOC6CLSbWZCIg1fm0PsU0/gT0unOu9v+CafFephiYiIiPRLsbGxnHNODueck8PPf/Fr8vKe49k//5HqklJe2vY+m47sJy3WyT5XJf8p3sZZaUMpd9fiDQTwYpKQlMw/t2+mpKGeK8efCcDhI4eIw8ATHY3VasHndrNn504Gx8aTOTCdM0dkc3Tlf6j3NPDApVd2O2u6vQXlzmp7d6eHSFMd8vaabeaOm8TCN//Fr/7nh5w2eAix0dFBy1B3OGIwLQaVdbU4PsvwB/D6/Xx0aD9zTp+AYRi4fV6sFgsWE/x+HxZLFIZhkJM9hmUbC/HOX3DCYK4Cvj0n1DsXREQkfCmILiInpfYH/wOGQf0ttxJIzwj1cERERESExuD0TTd9m5tu+jZVVVVs2LCeNWtW88G6NRyuq+aPm9czekARZ502gtTEZNaV7udfB3ZT4qnn8hkXkJWWQSAQoOLoUYYnJPKfze8xIXMkZUdLicNoLkdiYHDusGxeK9qKb+aFJ501fbyOant3p4fI6vyVZGBrE0AHWLvjY3bt28vp2JmWmMaZYye0yVDvSh3yrrDb7Uw4eyofvrKEOWPPBJwA1Hs9BAIBUmPjASipqSYm2oHPasFq/Xya3lEjVQV8e1ZXdi701O+FiIhEHgXRRaRzdXXYP3wf77nnfX7MaqX2Rz8N3ZhEREREpEOJiYlceOGXuPDCL+H1enG5qikuLmLDhvco3rqVHdXVFBXtYuKQ4dz1tSvIShsMNGZCB/x+3tr9CSUN9VwxbhJlRcWMSExqVY4kNTa+VSPSrmRNd8WJant3VVMd8jnZY9sE0ItKDrFk9bvkDhlBzpBMPq2pYtxpw7FYLCdVh7wrZs2+gDeXLuHlD97j7tlfwbAYxNijsFgslNXVUHzsKHV+P1a7jeSBA7FYLM33PVEjVQV8e1ZnOxeC8XshIiKRRUF0EemQ5eABEq6fj23HNipfex3fWWeHekgiIiIi0k12u50BA1IYMCCFKVOmNpcA+fDDD/jXSy/y94LVzeVTyqorefn9ddQGfNx6yVyGpQzk6K7drcqRAJTV1bRqRNpR1vTJjvlkHsftrsf0eUl1JrT52aqtm0mLjmHehClU1NZgBgKtyqf0VEZ9S1lZ2Vxx40385fHfcPDff+PScZNJjYsn2m7nla2buHbiVGJjYqgzICNjcPP9TtRIVQHfntfRzoVg/V6IiEhksXR+ExHpr2wbC0i+aBb2jz7EaGjAefu3wa9GiCIiIiKRzm6343QmMGNGLrd9/wFSpp3Fsr3b+PMHa3nt0x14RgxhcPpgzh09HqvVhmGx4PZ6mu9vmmarRqRw4qzp3uZwxGDY7JS5qlsd9/p8fLxnF+cOy26sQ+71YFhal09pqkO+dWMhXq+3x8Y0b96V3HzvfWzx1vLImv/jl6vfoKi6gh3Vx1h9sJhaTDJHjcL5WeC/ZSPVmcc1Uu1KwDcDG/n5K3ps/H1Z086FnOwxbc5nk2D9XoiISORQJrqItCv65Rdx3vs9DE/jZMk/fATVz78IVmuIRyYiIiIiHeluo8n2yqfs37+Ppx97lKUb1jB36nkkDxxIaclRBielYGLy6pbCVo1IT5Q1HQp2e2Nt8PUFm8gdN6k5MFrv9RDwBxgY5wQTSqsqSU5rXT4Fej6jvsncuVcwefJZrFjxNh8VbMBqmhhVFayrqaCmZC+zU5IobajvsJFqR6VqmhzfkDQqStfvHelo50JLJ/N7oaavIiJ9h4LoItKa30/cT39E7NO/bz7kmT6D6r/kYQ5ICeHARERERKQjp9posmX5lKysbOYuuJ6leYvYufwVzswYyrHyEraVl1BcdaxVI9KWWdNzjsuaPhk9EXicMXMWTxcUNC8CGMZndcitFo7WuCg2DlOLyYgW5VOaBDOjvnHB4ha8193Q/BoPHNjf5UaqJxPwjYtz9Pjr6EtOtHPheN35vVDTVxGRvkdBdBFpZlRXkXDLDUS9+3bzsfpv3kTNL34NypwQERERCVvBaDSZkzOd9PQM8vNX8H8bCymvKOXAgX0MciYyZ8p0EmLjWLl18wmzprurJwOPxy8CNNV7j4qO4ZXNBVz7helkjR7dXD6lSW9l1LdcsOhOI9VgBHz7uxPtXGipO78XavoqItI3KYguIgBYi3eT8I2rsO3eBYBps1Hzi1/jvuHmEI9MRERERDoSzEaTxwd4jxw5zLp1a3hvYyHrPzjUYdZ0dwR7EaApy9tlg0obFAfcTBuU1ur2PZ1R311daaTa0wFfadTezoUm3fm9UNNXEZG+S0F0EQHAOFqG9dO9AASSk6n+y2K8580M7aBEREREpFNdaTS5a/kr5OevOOnAXVOA1+lMYOTI0V3Kmu6q7gYeu1Pupb0s78LCDSzNW8S+FhnqHdUhDzc9FfCVz51o50J3fy9647MoIiKhoSC6iADgO2cart88QezTv6cq72UCIzJDPSQRERER6cTJNJrsiezkrmRNd1VXA49Ll7xCaurAkyr30nK87WWo91RGfW/oqYCvtHaqvxeh+iyKiEjvUBBdpL/yeMBmA4ul+VDDNd+gYe4VEB0dwoGJiIiISFedTKPJcArcdTXwOGbAIJ5YuoQvTjyLOSPHnXK5l+7UIQ+2k2mkGsqFgJ5o/BquTuX3or4+sj+LIiLSMQXRRfoh4+hREm/8Bp5zp1P34I9a/1ABdBEREZGIEemNJruyCOCqrqaurJxBUTF896KvkRgb1/yzU60z3ZMZ9d11qo1Ue3shoCcbv4a7k/m9iImJ7M+iiIh0zNL5TURCw+v14nJV4/V6Qz2UPsX68RaSvzQbe8F64n73G6KXvRrqIYmIiIjISWpuNFm0HdM0271Nc6PJs8Ov0WRXFgEOHzmEx+1mSMpAYqNaJ3w0lXvJwEZ+/opgD7fHrFu3hqcfe5Tygk3MGTGWWyafx5wRYykv2MQffvVL3nnnzS7Pg5pq1Qfzve1ovAt//SvWr18btOeOFJH+WRQRkY4pE13CTn/KcOhtUf9ZTsL/uwWjrhYAf3oGftU+FxEREYlokdxosjnwWLCJ3HGT2pR0CQQCHCstZWflUSaOGoPd1nYK25U60+FUguREjVSLSg5RfOQg7296j8d/+DBLR49hau6skM+Dutv4tT+L5M+iiIh0TEF0CSvr1q1h2eI8MrAxJ3vsKdc6lM+YJrG//TVxj/6i+ZD3C2dR/cJLBNIzQjgwERERETlVkd5osqPAo8/nZeXubZR66vnW+DNP+BgnqjMdjgk67TVSXbN9C0tWv0tadAzfPTuX8qpKamOi2B8G86CuNn7Nz18Rtr9jvSXSP4siInJiCqJL2FCGQ5DU1eG841Yc/1rWfMg970pcv/09xKgOn4iIiEhfEMpGk6eqo8Dj2t2f8O6B3cydMp2stBMnf7RXZzocE3Taa6RaVHKIJavfZeaQEcybMAXDMDhUUc5eVyXXfPESlm1cG7J5UFcbv3a2E6A/ieTPooiInJiC6BI2lOHQ8ywHD5Cw4BrsWzYDYBoGtQ//D/XfvRNOcBEs0h3htDVaRESkv+vtRpM96YSBx5yzuWBkJtW7P8U0zXYDuc11pqd9Xmc6XBN02mukumrrZtKiY5oD6AAOexRmIEAg4A/pPKgrjV/hxDsB+qtI/iyKiEj7FESXsKAMh+Bw3v3d5gB6IC4e1x//gufiL4d4VNIXhOPWaBEREWlkt9sj8lr5RIHH4uIinn7s0W7VmT7VBJ1gJQoc30jV6/Px8Z5dXJY9vtU43V4PhsWC1WoL6TyoK41fof2dABK5n0UREWlLQXQJC8pwCA7Xb54g+eJZmHHxVC3+O/4xY0M9JOkDwnFrtIiIiPQdxwceu1tn+lQSdIKdKHB8I9V6r4eAP8DAOOfnNzKhtKqS5LSBWCwWIHTzoM4av0L7OwFERET6GgXRJSwowyE4AkOHUfXyUvynDcUckBLq4UgfEK5bo0VERKRv606d6ZNN0OmtRIGWjVQv/cI0LFYLR2tdjT80obj0MLWYjMgY3HyfUM6DOmr8eqKdACIiIn2NgugSFpThcOqM6ipif/1Lah/4IcTHNx/3TTozdIOSPke9C0RERCRUulpn+mQSdHozUaBVZv1/DxEVHcPbuz5hVPJAjlZXUYtJ5qhROD9bBAj1PKi7OwFERET6IkuoByDSZMbMWRzGx9INazBNs9XPWmY4zFSGQxvW4t0kfel8Yv/0NAnf/Q4EAqEekvRBTVujc7LHdLo1euvGQrxeby+PUERERPoDu92O05lwwoByc4JO0fY284omzYHpsxsD011JFMjARn7+ih55DTk507nt+w+QMu0sSmyw9sinLNr8HlGDUhl/5pmkpaU3jzMc5kEtx7ts7zb+/MFalu3dRsq0s7jt+w+olJ+IiPR5ykTv5+rq6qisrCApKZnY2NiQjkUZDifHvvJdEr71TSxVlY3/Xrcay6d7Ceg8SQ9T7wIRERGJFN0pQXIqNdRPRVNm/fz5C8jPX8F/X3mFpTs+IsfnCct5UFd3AkjkC1ZjXRGRSKYgej+1atUKXn5pMXu2fIzFNAkYBpkTJzD/G9czY0ZuyMbVnVqH/Z5pEvPsH4n70UMYfj8AvjFjqcp7mcCIzBAPTvoi9S4QERGRSNGdBB2XqzqkiQJ2u50LLriIrKzTI2IedHzjV+k7gt1YV0QkkimI3gsaV3FrsVqjwuJi409/eprXXniesc5k7jjzXDISkjhcXck7Rdt45P772HHjjdx883dCNj5lOHSBx0P8/XcT82Je86GGi7+Ma+GfMTu5+Bc5WepdICIiIpGkqwk6wUoU6G42r+ZBEkq91VhXRCRSKYgeRC1XcfH7wGoL+SruqlUreO2F57nq9Il859wLMCyfB8HmTZrKwrVv8Y/nnmP06LEhzUgHZTiciHH0KIk3fgN7wfrmY3Xfu4faB38IFrU5kODqztZoERERkVDrSmC6pxMFTjWbV/Og/imUJVR6s7GuiEikUhA9SI5fxU1LTKSkqirkq7gvv7SYsc7kNgF0AMNicNv0C/m49BAvvrgo5EF0acty6CBJX70I64H9AJgOB67f/YGGeVeGeGTSX6h3gYiIiESizgLTPZUooGxe6a5wKKHSlca6u5a/Qn7+Cl3ni0i/pSB6ELS3imu1GIwNmCFdxa2rq2PPlo+548xz2wTQmxgWgwuyx/LEh+uoq6vrVrNRNR8JvkB6Br4JE7Ee2I8/PYPqRS/hm3xWqIcl/Yx6F4iIiEhf0xOJAsrmle4Kh0WXUDXWFRGJNAqiB0G4ruJWVlZgMU0yEpI6vF26MwmraVJZWdGlIHo4rJx3Jtzq0p80i6Wx7vmD91H78I8JpGeEekTST6lmp4iIiPQ1p5ooEK7zQAlP4bLo4nbXh7SxrohIpFAQvYeF8ypuUlIyAcPgcHVlh7c74qrEbxgkJSV3+pjhsHLekXCsS98ttbVY9+/DP2Zs8yEz3onr938M4aBEPqeanSIiItKXnGyiQDjPAyU8hcuiS7Aa64qI9DUKovewcF7FjY2NJXPiBN4p2sa8SVPbLeliBkzeKdpG5qQJnWahh8vK+YmEa136rrIc2E/C9fOxHjlMxZsrCQw5LdRDEhERERHpF7qbKBDO80AJP+G06NLTjXVFRPoqS6gH0NeE+yru1fOvY5urgj+uewczYLb6mRkwWbj2LT5xHePaa6/v9LG6snKegY38/BU9+hq6omWA/4FLr2TW+DOYMCyTWePP4IFLr2TmoKEszVvEnj3FvT62rrBtKCD5olnYt2zGcrQU5/+7BUyz8zuKiIiIiEivC/d5oISXk1l0CaYZM2dxGB9LN6zBPG7e2bKx7sxOGuuKiPRlykTvYeG+ipubO5tdN97I3597jo9KDnBB9ljSnUkccVXyTtE2PnEdY96NNzFjRm6HjxNOK+ftCZetcScj+uUXcd77PQyPBwD/8BHU/OpxOMF5FhERERGR0Ar3eaCEl3BbdOmJxroiIn2dguhBMGPmLJ4uKGDphjVtgrgtV3HnhGgV9+abv8Po0WN58cVFPPHhOqymid8wyJw0gYeufajTADqE93bFcA/wn5DfT9xPfkjsH//QfMhz3kyqn12EOSAlhAMTEREREZHOhGIeWFdXR2VlBUlJyZ2W45TwEY6LLqfaWFdEpK9TED0I2lvFHZSQQGl1+KzizpiRy4wZuSd90dXeyrnX56Pe6yHGHoXd1virFYrtiuEc4D8Ro6qShG/fSNS7bzcfq7/xW9T87FcQDgF+ERERERHpUG9m865atYKXX1rMni0fYzFNAoZB5sQJzP/G9V1KipLQC8fku5NtrCsi0h8oiB4kx6/iEvCBJfxWcWNjY08qY6HlyvnQlFRWffIRH+/ZRcAfwGK1MCFzJLPGnxGS7YrhtjWuM9aiXSRcdzW23bsAMG02ah75De7rbwzpuEREREREpHt6I5v3T396mtdeeJ6xzmTuOPNcMhKSOFzdWJ7zkfvvY8eNN3Lzzd/pgVcjwRTOJVS621hXRKQ/UBA9iFqu4vr9HqzWqD71RTRj5ix+/O/lfJj3DJPTTuOy7PEMjHNytNbFuk+LeGDjekhN5qcz7+3VcYXj1riO2D78oDmAHhgwgOq/LMY7fUZIxyQiIiIiIicnmNm8q1at4LUXnueq0yfynXMvwLB8PteZN2kqC9e+xT+ee47Ro8cqIz0CqISKiEjkUBC9F9jtduLiHHg8/lN+LK/XG1bbqqKsViYMOo1LMseQlpSMwx7FgOgYkix2ME0+piEk4wrHrXEn0jDvSuq2fkzUO29StehvBEZkhnpIIiIiIiJyioKRzfvyS4sZ60xuE0AHMCwGt02/kI9LD/Hii4vaBNHDbS4pjVRCRUQkMiiIHiGKi4tYnb+SLRs24G1wY492MHHqVGbmhm51enX+SsYPSOO2WV/iyJHD7D16FDMQwLBYSE4fxG1nnsFTK/+P/PwVvT7GsK5L7/eD1drqUO3DP6b27u9DfHzvj0dERERERMJeXV0de7Z8zB1nntsmgN7EsBhckD2WJz5cR11dHbGxsRQXF/HO2++wtbAQ0+fFsDXu3A3lXFLaUgkVEZHwpiB6BFi3bg2Lnn6K+tKj2AON2d81fj/vFBWx7p23+eZtt5OTM71Xx+T1etlaWMic7LEkJCSSkJBI4PRR+P0+rFYbFosFgJzsMSzbWIh3/oJevyAIx7r0xtGjJNx0He5vXE/Dldd8/gOrVQF0ERERERE5ocrKCiymSUZCUoe3S3cmYTVNKisr+PDD9/nni4tJC1iZkz2WVGcCZa5q1hdsYmFBAXMXXM+UKVNxfdZPyulMUCA3SLQTQEQksimIHuaKi4t4+re/wSivYHLaaZw7PLtV3fH39x9g4eOPkf5YRq8Ghd3uekyfl1RnQvMxi8WCxRLV6nYpzgRMnw+3uz4kFwrhVJfe+vEWEhdcjfXAfuwfbMKffTq+s84OyVhERERERCSyJCUlEzAMDldXdni7I65K/IZBZWUFyxbnMTt9GJed3brEZe64SSx881/8+MH7sFqsBOrrsRoW4gckc86s85k77wplqfeQpl3l2gkgIhLZFEQPc8uW/oOaQ4f51hemM2/ilFYXPrOyxvDqR4U8+8Fali79B/fcc3+vjcvhiMGw2Sn7LGPhRMpd1Rg2Gw5HTLefoydX6nuyLv3JiPr3v0i4/RaMujoAAskD2pR0EREREREROZHY2FgyJ07gnaJtzJs0td2SLmbA5J2ibWROmsDGDQVkYGPeOTMImK1vt3bHx6ze8gHWimomZwzl/AnTiI+KovhoKe+99Q4/37iBm++8u9d3PJ+scM3yXrduDcsW55GB7YQ7ASLlHIuI9HcKoocxr9dL/jtvM3lgRpsAOoBhGFw+aQobDxST//Zb3HHH3d2+YDjZiw27vXH1fH3BJnLHTWozNmhs4Lm+aDvjp03p1mP3qZV60yT28UeJ+/Uvmw95v3AW1S+8RCA9I4QDExERERGRSHP1/Ot49MH7+eO6d9o0FzUDJgvXvsUnrmN8/6r7+e+SfzAne2zjXM38PIpeVHKI59/8N6bbzbcnT+eCzNEMSs/AMOD8kTC75BAvb93EX/+4kPT03t3x3F3hPHcsLi5i2eI8ctOGMXdq250ASwpWszRvUdifYxERaaQgehhzuapxV1Zy3tmT2w1SQ2Mg/bzhI1m/cQUuVzUDBqR06bF74mJjxsxZPF1QwNINa9pcFJimyZKC1RzGx5yZs7v0eNDHVurr6nDecSuOfy1rPuSedyWu3/4eYrqfmS8iIiIiIv1bbu5sdt14I39/7jk+KjnABdljSXcmccRVyTtF2/jEdYx5N97ElClTeP3vL7Uqv9lk1dbN1NS4+ELaacwbcyZVDfWYZgDDsIAB2WmDuaS+jud3fkh+/oqwDfCG+9xxdf5KMrC1mStD4zx+3jkz2LX8lbA+xyIi8jkF0cOc1bAQHxXV4W3i7FFYDUuXH7OnLjaysrKZu+B6luYtYufyV5iWNYqk2Dgq62p5r3gnh/Exd8H1Xb4g6Esr9ZaDB0hYcA32LZsBMA2D2h/8hPrbvwcnWBARERERERHpzM03f4fRo8fy4ouLeOLDdVhNE79hkDlpAg9d+xAzZuTi9XrbLb/p9fn4qGgHUYaFc0/LImAGwDAaA+hNDEhLSmZ0wgC2bNiAd/6CsCqRAuE/d/R6vWwtLPx8J0A7DMMgJ3sMyzYWhuU5FhGR1hRED2NOZwLxA5IpPlrK+SOB9r57TdhTVkr8gGSc7WQZHK+nLzZycqbj9Xp56cU83lj2ElYzgN+wkDlxAtd+o3sr/8FcqW8sW1PbO41FTZPEb1yFbesWAAJx8bie+Quei74c3OcNgnCtLSgiIiIi0p/NmJHLjBm51NXVUVlZQVJSMrGxsc0/b1l+8/wJZzQfr/d68Hh9RFmtpMbGU+/xEB3raJPn47BH4YyKxt9Qg9tdH3ZzgXDP8na76zF93nZ3ArSU4kzA9PnC8hyLiEhrCqKHMbvdzjmzZvPeW+9yfulhsgZltA6km4317N478innXHRBl750e/piY926NSz/20uMsji49uvX4HQ4cLndbNy7i3+99CI2m61LgfRgrdS3LFuD3wdWW/Br5BkGrl//lqQ5XyGQMZiqxX/HP2ZscJ4rSMK5tqCIiIiIiDSKjY1tFTxvqan85pKC1Vx2duP8L8YeRZTdhsvvZ39FOYNi4nDGxrW5r9vrweVpwBobjcMRXqUoIyHL2+GIaXcnwPHKXdUYNlvYnWMREWlLQfQwN2fuFfxi40b+9vEmLskaQ1pSMg57FG6vh5LKCl4v3kZtkpO5c6/o9LF6+mKjo6z2CyZO7lZWezBW6o8vW5OWmEhJVVWv1MjznX0O1Ytewjv5LMwu1qkPFy3P26UjRn2+MBImtQVFRERERKRzTeU3X/trHtuXv0JO9hhSnAk4YuIord3Dqv1F5I6d2HZeZUJJZQU7qo8xcdYlYZchHQlZ3i13AuSOm9Tu/Ns0TdYXbWf8tClhd45FRKQtBdHDXFZWNjffeTd//eNCnt/5IaMTBuCMisblaWBH9TFc8Q5u/s7dXcoO7umLjZ7Mau/plfr2AvxWi8HYgNnjNfKMqkpinvszdd+7Byyf1xL0XHDRKT1uKDSdtzEOJw6rjdc3riHgD2CxWpgw4nQSfd6IqUsvIiIiItLf5eRMZ9iw03j77bdZtrEQ0+fDZQOSEthRU8Hru7cyb+KUz+dzn+12fr14G654BzNnzg7p+NsTKVneTTsBlm5Y02bObJomSwpWcxgfc8LwHIuISFsKokeAnJzppKdnkJ+/gi0bNuBvqMEaG83EWZcwc2bXy2v05MVGT2e19/RKfW/VyLMW7SLhuqux7d4F9fXUPfSjk36scLA6fyXeo+XsDJSRHh3DZdnjGRjn5Giti3X7ijjSUI/XYqiDvIiIiIhIhMjMzOL662/CO39Bc7+jwsINLHz8Mf78/lo27C/mvOEjibNHsaeslPeOfEptkrPLyVq9LVKyvJt2AizNW8TOFjsByl3VrC/azmF8zF1wfdDOsfpbiYj0LAXRI0RmZhaZmVmtLny6+0XYkxcbwdhC11Mr9b1VI8++4h0SvvVNLNVVAMQsfp76b/8/zJTIKt/SxOv1sn7FCrxVlVw05gzmTZjS6vzNyhrDq1sKWbpjM+tXrGC+OsiLiIiIiEQMu93efP2ekzOd9McyWLr0H+S//RbrN67AaliIH5DMORddwNy5VwQ9uGu12vD7fSc1t42ULO+WCXFNOwEMm43x06YwpxsJcd2h/lYiIsGhIHqEaXnhczJ66mIjGFvoemqlvr0AfyAQwO/3YxhWLJ+VXDnpGnmmScyfFhL344cxAgEAfGPHUZX3csQG0KHxvB0+fJCpzpQ2AXRoXHi4fOIUPjy0jw2HDqqDvIiIiIhIBMvMzOKee+7njjvuxvXZvM7pTAjaNX5TcHfDqpWUlZRQVVlJdHwcGYOHkDNrdreCvKHO8u6OnkiI66rj+4KlOhMoc1X3Sl8wEZG+TkH0fqanLjaCtYWuJ1bqWwb4XdXVHD5yiIqjRyEQAIuF5IEDycgYfHI18hoaiL//bmJeWvz5oS99BdfCP2HGO7v+OGHIarXRUFPL5NPP6DCDf3L6aeR/uA+rVX8+REREREQind1uZ8CA4CYDNQV341x1nGV1kD50DIyw8MGRAxQfPMwH/36dj7sZ5A1FlvepONWEuM601xesSU/3BRMR6Y8UBeuHeupiI1hb6E51pb4pwP/G2yuILq8k3rAwIjGJ2Kho6jwNlJYc5eMjJbyxfyfjL5zd5cc2jh4l8YZrsW94r/lY7V33Unf/D1o1FI1Ufr+PxKQk8AfABNqLo5tg+gMkJSXh9/t6eYQiIiIiIhJpmoK75zhTyUpyMCTOSebAdDBgnjmVV7cUkn9oL6Oi47sd5O3NLO9w11t9wURE+isF0fupnrjYCPYWulNZqR+RmcXfi58h0xLNd869AMNiYBgGSWY8GYkDWLj2LQqKd3BB1re69HjW4t0kXv51rAf2A2A6HLieWEjDnMtPanzhyOGIITUtjSPuOvYcPdJ8YdvMhOLSw5S460hNSwtZl3sREREREYkcTcHdKYOH4SktazXPaCoZubO8BIfNTkaD7aSCvMHO8g53vdUXTESkP1MQvZ871YuNcN1Ct3dPMaMGD+WTmgp+ueo/nDssm9Q4J2W1LtbtK+JIQz2jBw+juHg3M2bkdvp4/rQMzMQkOLAff8Zgqhe9hO/MLwT/hfQiu93O1NxZ7Hl7BQdrXVTV1TIoMQmHPQq310NpVSU1ZoB9fjdTz+96Br+IiIiIiPRPTcHdy7JGU1lWxojEpDY7Xg3D4Nxh2bxWtJVLzj6P5Qrydlt7fcHac9J9wUREREF0OXXhtoWu6ULtqmm5DEsdxMqtH/Ja0VYCgQAWi4UJmSO5cvyZ7Csr7foqfFwcVXl/I/6h+6j5zRME0tJ7dLzhcN6gsUTPxwUFFAfcTMkYxt6yMsxAAMNiIWlQKkWH9lHrjGVmiLvci4iIiIhI+GsK7ibHxuGuqMZhj2r3dqmx8QT8AeIdDgV5T0LLvmAdOam+YBEknObWItL3KIguPSZcttC1XIXPSssgKy0Dr+9CPH4vUVY7dlvjr31tg/vEF2i1tViqqwhkDG4+FBg6jOrFf++xcTZ1p99aWIjp82LYGmu5d6crfU9rWaJnX3Ul07JGkRQbR2VdLe/u+CisutyLiIiIiEh4awruVtTVEmux4PZ62r1dWV0NFquFGre7Twd5g6WpL9j6gk3kjpvUbkkX0zRZX7Sd8dOmdHveHu7B6XCcW4tI36MguvQ57a3C2202HFF2/AGz+diJVuEtB/aTsOAaDL+fiv+8BfHxPT7Gpu70GdiYkz2WVGcCZa5q1hdsYmE3u9L3tJYlel4LoxI9IiIiIiISWZqCu+8VbGLu6EmUlpYxOCmlVUkX0zRZt6+ICSNOZ+PeXScV5I1UPRmcnjFzFk8XFLB0w5o2zUVN02RJwWoO42NON3YVR0JwOpzn1iLStyiI3s+F+4ryyTiVVXhbwXsk3nAtlrKjADjvvxvXU3/q0fE1dafPTRvW5uImd9wklhSs7nZX+p4WbiV6REREREQkMjUFdwsP7SPL6mDP0SPNzUVN0+TVLYUcaagnweftdpA3UgUjON1yV/HO5a+Qkz2GFGcC5a5q1hdt7/au4kgITkfC3FpE+g4F0fupSFhRPhUnswof/be/4rz3exheLwD+EZnU3XF3j4+tqTv98eOCxqY6886Zwa7lr5xUV/qeFi4lekREREREJDK1DO5+7KpjmNVB2v49GFYLHxw5QLGrAmdiEtsbavpF6chgBqdb7ipedgq7iiMlOB1Jc2sRiXwKovdDkbCifKraW4UflJBAaXU7q/A+H3E/+SGxzzzVfH/PjFyq//wC5oCUHh1XU9PTOdlj282Qh8Yv+5zsMV1veioiIiIiIhLGWgZ3N6xcSdn+fVRWVuKIjyNjyBAmz57NzH5QOrI3gtM9sas4EoLTmluLSG9TEL2fiZQV5Z5w/Co8AR9YWq/CG1WVJNxyA1Er3mm+X/2N36LmZ7+CIHzBtmx62pEUZ4K60ouIiIiISNjraonQpuDu/M+Cu1arDb/f169KR/ZmcPpkdxVHSnBac2sR6W0KovczkbCi3JNarsL7/R6s1qjmL05r0S4Srrsa2+5dAJg2GzWP/Ab39TcGbTztNT1tz4manka6xgvs2lbvg4iIiIiIRJ6TLRHaX0tGKjjds/r73FpEep+C6P1IpHxpB4PdbicuzoHH428+Fv3PZc0B9MCAAVQ/91e8554X9HGcbNPTSNbyAhu/D6y2PlWD/3h9sWGviIiIiEiT/lAitKcpON2z+uvcWkRCR0H0CHMqwblI+dLuLXV33ott84dY9xZTlfcygeEjeuV5T6bpaSQ7/gI7LTGRkqqqPnmB3dcb9oqIiIiI9KcSoT1Jweme19/m1iISWn0qiP76669z7733Eh0d3Xzsi1/8Io899lgIR9UzmoJzWzZswNvgxh7tYOLUqd0KzkXKl3bQmGbrf1ssVD/1JwxMzHhnrw2jvaanKc4Eyl3tND2NcO1dYFstBmMDZp+7wFY2joiIiIj0B/2tRGhPUXC65/WnubWIhF6fCqJv2bKFr3/96zzyyCOhHkqPWrduDYuefor60qPYAxBltVLj9/NOURHr3nmbb952e5eCc5H0pd3TjNJS4m67icB9D+M7Z9rnP4iPxzzx3YKmZdPTJQUb8DY0YI+OZuK0qc1NT/uC/nKBrWwcEREREekP+nOJ0J6g4HTPazm3XraxENPnw7DZGD9tSp+aW4tI6PW5IPqXv/zlUA+jRxUXF/H0b3+DUV7B5LTTOHd4NgPjnBytdbHu0yLe33+AhY8/RvpjXQvORcqXdk+ybvmIxAVXYz14gMRPPqHizZUEThsa6mFhmiaYgAEWo/H/QxLRD5L+dIHdXxYLRERERKR/U4nQU6PgdHBkZmaRmZmFd/4C9aYSkaDpM0H0QCDA1q1biYmJ4dlnn8Xv95Obm8u9995LYmJim9vb7VZOENcLCpvNelL3+9c/l1B76DDfOms68yae3SpANzt7LK9+tJFn31/Lv/65hPu+/0CnjzdmzCiuvPEGXn3hBXb95xXOzR5DanwCZTXVrCvazhH8XHnjDYwePfKkxhtubP98jdhbv4VRV9d4IMpOVE0VgagRIR3XmjWrWbJoEelYuSJ7PAOdiRx1VbFu4yb+uHEDl3/zm0yfHtwmp8HmdteC30daYiJWy+e/t4bFoOWnYVBCAgR8+P0e4uIcvT/QU+T1etn2/ibmjByDzWo5wa0Mpo8cw7JNmzC+eUPIL+hO9u+R9Cy9D6Gn9yA86H0QEYkc/b5EaA9QcDp47HZ7WI9PRCJbnwmiHzt2jHHjxnHxxRfz5JNPUlFRwf333899993Hn/70pza393r9vTY2r9eL3+/Bao3q1h90r9fLijffZPLADOZOmAJ8lr3cwryJU9iwv5h333iD2/7fnV16/LPPziE1Na2xlEjLL+2pU7jssy9tj6f3zk9QBALEPv4ocY99XtrHN+Vsqp5/kUBaOoTw9RUXF/GP519oU/pjLDBjTGPpj1eee57U1LSwuoDqLqs1Cqw2SqqqGBv4/PfWCvhb/Lu0uhosNqzWqG793p1Kk92e5HLV4Pd4GBCX0Op1HS85LgG/x0t1dQ3OTjJ3ekPEf8b7CL0Poaf3IDzofRARiQz9uURoT1JwWkQk8vSZIHpqaiovvvhi879jYmK47777uPLKK6mpqSE+Pr7Xx9TUDHRrYSH4fWC1MX7KlC43A3W5qnFXVnLe2ZM7LIdx3vCRrN+4ApermgEDUro0tkj70u6W2loS7riV6OWvNR9yX3E1Db9/ioAl9K+xv5T+CNYFdsvPlenzYtjs3fpc9TRl44iIiIhIf9IfS4QGi4LTIiKR40S1ByLO9u3b+c1vftMqU9vj8WCxWIiKiur18axbt4anH3uU8oJNzBkxlu984TzmjBhLecEmFv76V6xfv7ZLj2M1LMR3Mv44exRW4+TeSrvdjtOZ0CNf3F6vF5erGq/Xe8qPdbIsB/aTdOnFzQF00zCo+dHPcP3hGXCEvlRIU53wnOwxndYJ37qxMKTnsifMmDmLw/hYumFNm10ULS+wZ3bxAvv4z9Utk0/uc9WTmhcLira3eY1NmhcLzlY2joiISKTavHkzY8aMYfLkyc3/u/baa0M9LJFe11TXe1XJPn61/BVWbt3Mln17WLl1M79a/gr5pfvDpq63iIhIT+kzmehJSUm8+OKLJCYmcsMNN1BaWspjjz3GnDlzej2IXlxcxLLFea3KdVgtBmMDJrnjGst1LM1bRHp6x81Anc4E4gckU3y0lPNH0th48ngm7CkrJX5AcshKRIRNZnBDA0lf/zLW/fsACMQ7cT3zFzwXfqn3xtCJ/taIp73GOYMSEiit7n7jnPY+V02687kKBmXjiIiI9H1btmzh7LPPZvHixaEeikjIRVJdbxERkZ7QZ4Lo6enpPPPMM/z2t7/l6aefJjo6mq985Svcd999vT6WnirXYbfbOWfWbN57613OLz1M1qCM1oF0E4pKDvHekU8556ILQhJsXbduDcsW55GBjTnZY0l1JlDmqmZ9wSYWFhQwd8H15ORM753BREdT+9CPSLj1ZvwjMqla/Hf8o8f0znN3UX8s/XH8BTYBH1i6f4EdzmVw2lssSHEmUO7q/mKBiIiIhKctW7YwYcKEUA9DJGz06RKhIiIix+kzQXSAqVOn8vLLL4d0DE3lOuZkj+20XMeyjYV45y/o8EJjztwr+MXGjfzt401ckjWGtKRkHPYo3F4PJZUVvF68jdokJ3PnXhGsl3RC4ZgZ3DDvSqo9HjwXfxmzi/Xhe1N/bcTT8gL7ZJvs9uTnKhiUjSMiIhLZ3G43JSUl7f5s4MCBbNmyhdTUVC666CJqamqYOnUqDzzwAOnp6e3ex263coLLFvmMzWYN9RD6hWCf56goK3FxoS+dGWr6fe4dOs/Bp3PcO3See0dPnuc+FUQPBz1driMrK5ub77ybv/5xIc/v/JBR8UnER0VT42lgZ00lrngHN3/n7pAE6EKdGWxUVRL9n+W451/X6njDNd/o8efqSf259IfdbicuzoHH4+/W/SKlDE7TYkHdFddQWVlBUlIysbGxvT4OERER6b7NmzezYMGCdn/25JNPMmjQIM4991yuueYavF4vP/vZz7jllltYtmwZVmvbCZrX273rnf6qu9eFcnJ0nnuHznPv0HkOPp3j3qHz3Dt66jwriN7DglGuIydnOvv2fcrzf/kTKz7ZjN0w8JomyUNP46arv9N75VJaCHVmsHX3LhKuuwpb0W5Mi4WGqyOnqZNKf3RfpJTBCZv+ACIiItJt55xzDjt27Djhzy+++OJW//7hD39ITk4ORUVFjBo1KtjDExEREZEQUhC9hwWjXMef/vQ0r73wPOOdyeTmXkKyI5YKdx2r9uzg+d/9lqqqSm6++TvBeDknFMrMYPu7b5Nwyw1YqqsAiHvkZzR8fS7ERE79cJX+6J5IKIMTVv0BREREpEcdPnyYF154gTvuuIO4uDgAPB4PAA6HyliIiBzP6/WqVr6I9CkKogdBT5brWLVqBa+98DxXZI5j/qSpeBsawDTBMLg4cwx//aiAJc89x+jRY5kxIzeYL6uVkGQGmyYxf1pI3I8fxggEAPCNHU9V3t8iKoDeRI14uiecy+CEY3+A3qKLYxER6Q+Sk5P5z3/+g9/v57777qO2tpaf/OQn5OTkMGzYsFAPT0T6kXC//j5+d65psTJy0iTOv+CLjBw5OtTDExE5aQqiB0F75ToGJSRQWt39ch0vv7SYUbEJzBs5EdPdgDMqCqvFij/gp97dwBUjJ7Gl5CAvvrioV4PovZEZ3OriIBAg/v67iXlpcfPPG770FVwL/4QZ7zyl1xJqdrs9LC9+wk04l8EJdX+AUFDpGhER6U8cDgfPPvssjz76KOeddx4As2bN4pFHHgnxyESkv2gTnLZaGTlxIudfcBEjR4ZHSamWu3OnDRhE0ZGDbN9XxBsffsDSvBeYduGFfPObN2u+ICIRSUH0IDm+XAcBH1i6V66jrq6OXR9+yC0jJxNvj8IZ07JBoZ3YaAeu+jrOTR/Onz74gLq6ul5tYhiszODjLw4SfT7u++gDBu7d03yb2rvupe7+H4DF0mOvR8JfOJbBCXV/gFBQ6RoREemPxowZw/PPPx/qYYhIP9Ty+vtLGcMIuN3sP3yID5b+i38uzuPsC77IN28IbXC65e7cQQlJLF3zLmnRMdzyhXMZGOvko4Of8u57hfxm76d84zu3ab4gIhFHQfQgalmuw+/3YLVGdSt4VllZgb/BQ0acszmAXufxUOGuI9kRS2xUY2A9PS4eX4OHysqKXg2iH58ZPC1rFEmxcVTW1fJe8c6Tygw+Pjg3rK6GUYueJtbVWP/cHxVF7e//SMOcy7s11sas9tpuvwcSfsKtDE4o+wOEQn8uXSMiIiIi0ttaXn9PH346e3ftIg47U8acwdUTprDk40KWvP0Ov9qzh2/ednvIgtNNu3PPHJ7FH5a/yswhI5g3YUrzfGFC+mmMTUkjv/yQ5gsiEpEURO8FdruduDgHHo+/W/eLi4un3tNARUM9K/buYPFHG9h97CgWDAKYnD5gINdPmkZlg5t6TwNxcfFBegUnlpMzHa/Xy0sv5vHGspewmgH8hoXMiRO49hvdy0ZtLzhnHCvH8Vm2eW1cPI+dcy6XnPkFMrvxmE1Z7fh9YLWp5EQfES5lcELSHyCE+mPpGhERERGRUGm6/r5wzCQ++Wgzg2PjyRyYDp9din9r2myO1tdxoN4dsuB0y925qz75iLTomFYBdAAMSEtKZooFqsoPar4g3RLuvQCkf1AQPYxZLAaGw8HT76/BAoxNSeN7XziP9PhEjtRU8fanu/jxyuUEAMMRjcXSfimJYFq3bg3L//YSoywOrv36NTgdDlxuNxv37uJfL72IzWbrciC9veCcOSCF+u89TPQrL+D/zr00rH67y1+2x2e1pyUmUlJVpZIT0qN6oz9AuOiPpWtEREREREKl5fX3kZLDxGG0CqBD4/X3ucOzWbZ7KykBS0iC0027c5Ni4/h4zy4uyx7f7nzBYY8C02Ra5kj+pfmCdIF6cUk4URA9jDkcMSQlJ3Ns335umjiVO6fkYmnxRTR31Bn8rnAlz23ZyIDhw3o9w7Wjsg4XTJzcrbIOTRcHlw/NxnDXQ0wsXp+Peq+HmOHZ+B/4JXQjONfe2KwWg7EBUyUnpMcFqz9AuOlvpWtEREREREKp6fp7QLyTigMHGZGY1CqA3iQ1Nh4zEOALw7J4IwTB6abduYcqygn4AwyMc7Z7O7fXg2GxkJqQrPmCdEq9uCTcKIgexux2O6bVwlnppzF35ERKa13E2qOwWSz4AgHqvB7mjpzE5qOHKbIYJ/XlcypbYnqyrIPbXU9ydSW5+X/Bn5zCC1POZcunRQT8ASxWCxMyRzJr/JldDs6p5IT0puP7A+RkjyHFmUC5q5r1RdtPqj9AOOpvpWtEREREREKp6fr7aNUx4gKBxkzudpTV1WCxWshITsHcv6vXg9NNu3PfX78Rw2LhaK2r7Y1MKK2qJDltIIdqazRfkA6pF5eEIwXRw1hdXR2+qmpmjZxMXEwsXr+PCncdjUvPJna7nfiYWGYNH8XOXR9QV1fX5caip7olpr2yDs2Z4/Yo7DZbt8o6JGz5iP9Z8TbxDQ1w5CAT3G6yZ13CwDgnR2tdrNtXxO+LdnL60OGdftmq5ISEQk7OdNLTM8jPX8GyjYWYPh+Gzcb4aVOYM7NvbDXrT6VrRERERERCren6+733NnJByhDcXk+b25imybp9RUzIHElVXW3IgtNNu3NNi8G6T4uYlTXm8/mCCcWlh6nFZHh6BktW/p/mC9IhJUZKOFIQPYxVVlYQZbEyfFAafgOibHYSYmLBMMA0cXu9+DAZOnAQUUVWKisruhREb7kl5rKs0STHxlFRV8t73dgS07KsQ1HJIVZt3czHe3adVOa446XFxN93J4bXC0B1fALTvnoNpA1uvs2srDG8+lEhz25cy3nz5nb4ZauSExIqmZlZZGZm4Z2/oM82PekvpWtERERERMJB0/V3YdkhYgMwOCmluaSLaZq8uqWQkoZ6rhx/Bn8vWB2y4HTT7twXFv6B/KLdDHpvJXMnnEWDz0tpVSW1mIwYOZI3P9ms+YJ0SImREq4URA9jSUnJBAyDcncdydmp1NXVUlPvBtMEwyA61oEzNo6Kkn34DYOkpOROH7NpS8w5zlSmDB5GZVkZ7opqYi0W5o6exMZD+7q0JaZpW9nKrZspOvApadExfC1zLM5oB64GN+8d2NN55rjPR9xPfkDsMwubD22JT8B6zXcYPmhwq5saGHwhbQhDnYmdvkaVnJBQs9vtffZLvL+UrhERERERCQdN199/fXohW94v4oJjpUzIGEpZfQ3r9hVR0lDPvBnn8/6e3SEPTjftzn3hhWd58e23KTi4l8lDhnNaxmCsMQ5WbMjXfEE6pcRICVcKooex2NhYMidO4J2ibcybNJXExCTMBDDNAIZhaUxID5i8U7SNzEkTupSFvjp/JXGuOrKSHHhKyxiRmITDHoXb66G0tIxsq4OtrrpOt8TY7XbSRgzn9aXLuHz0GYxMGEBNZRX1ZhUYMH3QUHZVl/PqxnXtZo4blRUk3HIDUSvfbT721umjOZz7JdJNk4pPixjUcmyfrVx/acq5rNyzF6/Xe8I/kio5IRJc/aF0jYiIiIhIuGgZnF741lvEbilgQFwCo4eNYGrW6aze+UnYBKczM7P4yU9+ya5vfJN3332LrR99xCfHDmm+IF2mxEgJVwqih7mr51/How/ezx/XvcN3zr2gsZTLZ8yAycK1b/GJ6xgPXftQp4/l9XrZsGolZ1kdDIlzkjkwvVVn78FJKRSXHmaY1cGGlSuZ34UtMSm2KAZixe7zMyEljVh7NHXeBg66qhiIjRRb28Yn1t27SLjuKmxFuxtfh81G2U9+wYubNnHLiGyGJ6dw+PAh9h49ihkIYFgsJKcNZETGYOIqylnxwcFOVxpVckIkuPpD6RoRERERkXDxeXD6et599212bf6Io4EAZVWlYRmcHjlyFCNHjsLr9Wq+IN2ixEgJVwqih7nc3NnsuvFGXvrTn9h0YA/nDclkYGw8R+tqWHNwDztqKrnilluYMSO308dyu+spKykhfeiYNgF0AAzIGpRB2oG9lO3f12Gg2uv18vHGjZwxII3s5FRGDxiIzWrDwMAkjsHxCewoP8qEAWl8tHFDq8zxmD/8b3MAPZCSQvVzf8U7ZSrG5o8oc1UzYVgmTmcCgdNH4ff7sFptWCwWAMr37enSSmN7JScGJSRQWq2SEyI9qS+XrhERERERCTcjR45m5MjREROc1nxBToYSIyUcKYgeAcaNm0Dq0NP4aO9ethw9jN1ixRvwY0bZGTJiBOPHT+zS41itNqoqK2GEpW0AvYkBhtVCZWUlVuuJfz3c7noO7vuUr55+BuMzhuL3+/H4fJ8/l83O+MFD+eDoQV4v+qhVQL7mF7/G9tFmDL+fqsUvExg2HDu0WWm0WCxYLJ9nsnd3pfH4khMEfGDRFjIRERERERGJbApOS1+mXlwSjhRED3NNjUCvmTiVuTfdTX1DAxV1NSTHxhMTHc2SgtVdagQK4Pf7iI6P44MjB5hnTj3hlpgPjhzAER+H3+9r51EaBQIm1VVV2K02rFYrVqsVoqIwTbPV40bZ7FRVVREImJ/fOS6O6pf+QSDeCfHxzYeDsdLYsuSE3+/Bao3ShYaIiIiIiIiISBhTLy4JNwqih7nV+SvJwNYcVI51OIh1OJp/Pu+cGexa/kqnjUChsTlDRsYQig8dZsnHhcybMKVNoPrVLYUUuyrIGDKkw5IptbU1BIAPSw9ydYvA+fGPV3RwD89UV+LduR3OPqf5Z4H0jDaPGcyVRrvdTlycA4/H3+37ioiIiIiIiIhI71IvLgknCqKHMa/Xy9bCQuZkj203axwag9Y52WNYtrEQbyeNQO12OzmzZ/PBv19n1cG97Cgr4dxh2aTGxlNWV8O6fUUcaajHmZjE5NmzO3yspKRkYmPj2F1ZxpLtHzJvzJltAujvvvcOd24tZJDPh+fu71L933cw450dvmatNIqIiIiIiIiISBOVL5JwoCB6GHO76zF9XlKdCc3HAoFAm2abKc4ETJ+vw0agTWbMnMXHBQWMdjiJttp4rWgrAX8Ai9XChBGnk+Dzsr2hhpmdlEyJjY1l7FlfwPXxNlYdKGJHeQnnnpZFSkwc5fW1VH24jnk7txAdCABgra7GcugQ/lGjO33dWmkUERERERERERGRcKEgehhzOGIwbHbKXNW4qqs5fOQQFUePYgYCGBYLyQMHkpExmHJXNYbN1mH5lSYtS6ZkYOOSs88j3uGgxu1m495d3SqZcvX863j0wfuZHJdAWkIyy3Z/jOn38/UjB5h/eF/z7Y6NHI25dDmBtPRuvX6tNIqIiIiIiIiIiEioKYgexux2O+OnTOGNt1cQXV5JvGFhRGISDnsUbq+H0pKjfHykhDf272T8hR2XX2mpZcmUfxZswNvQgD06monTpnarZEpu7mx23XgjS597jrGuSi4YmsUXP3iPIS0C6Fsmn0X6P/8LLeq4d5XX61UmuoiIiIiIiIiIiISUguhhbkRmFn8vfoZMSzTfOfcCDMvndcczEgewcO1bFBTv4IKsb3XrcU3TBBMwwGI0/j9m98d3883fYfTosbzx56c55/9eZYinAYAAsHXBDaQ/9r9wgnruJ1JcXMTq/JVsLSzE9HkxbI2LCTNzVRNdREREREREREREepeC6GFu755iRg0eyic1Ffxy1X/IOS2bpJgYKuvrWX+gsRHo6MHDKC7ezYwZuV16zHXr1rBscR4Z2JibNZbk2Dgq6mp5r2ATCwsKmLvgenJypnd5jDMnTuKyTYVYmgLoTieuZ54j/YsXd/v1thzbnOyxpDoTKHNVs/4kxyYiIiIiIiIiIiJyKhRED2Ner5ethYVcNS0XDPjrqrd4853XMDAwMck6bTjX5V6IacKyjYV45y/otOxJcXERyxbncY4zlSmDh1FZVoa7oppYi4W5oyex8dA+luYtIj09o8tZ32ZSMvXXfZO43/4a/4hMqv76SpcaiJ5obLlpw5g79TyMFhnsueMmsaRgdbfHJiIiIiIiIiIiInIqFEQPY253PabPy/6yEt7fuY3T4xKYf8GlJETHUN1Qz4YDe3lt7Uq+MHocps+H213faRB9df5K4lx1ZCU58JSWta6xXlpGttXBVlcd+fkruhWorvv+QxAdTf03b8JMHnBSr3d1/srG7PjjAugAhmEw75wZ7Fr+SrfHJiIiIiIiIiIiInKyFEQPYw5HDK56N28Uvce8MWcwb8KUVsHlL54+nle3FLK0cD32IRk4HDEdPp7X62XDqpWcZXUwJM5J5sD0xlronxmclEJx6WGGWR1sWLmS+SfIbDcqK7Bv2ojngos+P2ixUHfXfSf9Wpuy7udkj20TQG9+XsMgJ3tMl7PuRURERERERERERE6VJdQDkBOz2+0YjiiSLDbmjZ/Sbnb25ROmkGSxgSOq06Cy211PWUkJ6Y7YNgH0xgeErEEZpDliKSspwe2ub/MY1t27SPryBSQsuAbbe+tP9SW2Gpvp85LqTOjwdinOhOasexEREREREREREZFgUxA9jHm9XiweL+PTh7K3rARMME0IBAKYJmDCnqNHGJ8+FGuDF6/X2+HjWa02qiorwWppG0BvYoBhtVBZWYnV2nqjgv3dt0n60vnYinZjeL04v38nBAI98VJxOGIwbHbKXNUd3q7cVY1hs3WadS8iIiIiIiIiIiLSE1TOJYy53fXERkczbvhY9lVUcORYGYn2aKKsVjx+P1XeBjw2K2NHj2Hbvh2d1kT3+31Ex8fxwZEDzDOntls2xTRNPjhyAEd8HH6/r+kgMX98irif/ADjs6C5b9wEqvL+BpaeWYex2+2MnzKF9QWbyB036YRjW1+0nfHTpqiUi4iIiIiIiIiIiPQKZaKHsabs7GM1Lkyg1uvhSK2Lg64qjtS6qPV6MIGK2pouZWc7HDFkZAyh2FXBko8LMU0Tr99Ptbser9+PaZq8uqWQYlcFGYOHND5eQwPO791G/I8fag6gN3z5q1T8+00Cw4b36OudMXMWh/GxdMMaTNNs9TPTNFlSsJrD+Jg5c3aPPq+IiIiIiIiIiIjIiSgTPYzZ7XbSRgzn/956l4fO+xJZ2WPxBfw0+LxE2+zYLFaKSg7x17VvMPyiCzrNzrbb7eTMns0H/36d5bs/4eUPC4gyLM2Z7R4zQFy8E2diEpNnzyaqooLEG67FvrGg+TFq776Puu8/3GMZ6C1lZWUzd8H1LM1bxM7lr5CTPYYUZwLlrmrWF23nMD7mLriezMysHn9uERERERERERERkfYoiB4B9ruqWLu/GI/XS0VNNaZpYhgGyfEJbDiyj/2uKrqaEz5j5ize/vdyPK5qspxJjEpKJTHaQVWDm52VZRS5KoiOc/CltAySL8rFeuggAGZMDK4nFtJw2bzgvVAgJ2c66ekZ5OevYNnGQkyfD8NmY/y0KcyZOVsBdBEREREREZEw4vV6cbvrcThiVHpVRPosBdHDmNfrpWTvp4wdlslzm1azPmkgF2SOIiMukUO1lSzeXMC2iqOcOXosJXv24vV6u/SFFWW18oUhmVySNYaBCYnYLFZ8AT9Hq6t4vXgbH9OAEfBjOVYOgH/wEKoXvYTvjMnBfskAZGZmkZmZhXf+An0Ri4iIiIiIiISh4uIiVuevZGthIabPi2Fr7HU2M1cJcCLS9yiIHsbc7nqqKo9hrarkiklnE22xkX/oUwKBABaLhbNGnM74oSPYULKfgNXotLEowOr8lYwfkMaCKedRVLSLA58WY5gmpmHgHJDM9Rd/lRc2ruG/R0sZ+r9PEfPsM1Q9/yJmWlovverP2e12Bc9FREREREREwsy6dWtYtjiPDGzMyR5LqjOBMlc16ws2sbCggLkLricnZ3qohyki0mMURA9jDkcMR8rLmRwVz63TzscwDLx+P/VeDzH2KOxWK6Zp8unrr/BB+dFOG4t6vV62FhYya0Aa+4qKSMLKyOHZ2G02fPV1lNbV8unuIsYMGMTKjYXU/O5JGr4+F6zWXnrFIiIiIiIiIhLOiouLWLY4j9y0Ycydeh6GYTT/LHfcJJYUrGZp3iLS0zOUkS4ifUbPd4eUHhVttTIqaSAGjV9KdquVBEcM9s8C2wYGo5IGEt2FQLfbXU9NVRX1ZeUMjo3nzOHZDElJJS3gJ+vVvzB1x2YyYuKoKyunproKt7teAXQRERERERERabY6fyUZ2NoE0AEMw2DeOTPIwEZ+/ooQjVBEpOcpiB7G3O56UpNTiHY42HP0CJjH3cCE4tLDRDkcpA5IaQx6d8DhiKGsopwGt5vMgelggGXvbmL++AjWIwewr32LUQf34nG7KTtW3mlmu4iIiIiIiIj0H0073HOyx7QJoDcxDIOc7DFs3ViI1+vt5RGKiASHyrmEMYcjhvjERGISUzhUV0PVp0UMSkzCYY/C7fVQWlVJLSaxqSnEV/m6FPRu8PvZWXkUExN74Vqilr+E4fcDEEgZhG/IcHYWrqbhs2MiIiIiIiIiItCY7Gf6vKQ6Ezq8XYozAdPn61LvNhGRSKBM9DBmtzd2tt5+rJRxZ5xBdNpA9lRXsLX0EHuqK4hOG8i4M85g+7FSxp89pdMvJre7nvSUFMoa6tiX93uiX1vcHED3Z4+l7pb7+UfJQUo89aSnDOw0s11ERERERERE+g+HIwbDZqfMVd3h7cpd1Rg2m3a4i0ifoSB6mJsxcxaH8bF803uYZmM9l6YNU6Zp8q9N73EYHzNnzu70sRyOGDJi4/jVoX2M27W1+fjhiWfzf+ddyC83rGT1ob2cNWociUlJ3f6y83q9uFzV2q4lIiIiIiIi0gc1JfutL9reHKM4nmmarC/a3qVkPxGRSKFyLmEuKyubUV+YzHPPP896ZzK5maNJjomjor6Wvxau4RPXMebdeFOXOl479u7hZ2tWMaDsKAB+i4W8rNG8GxeHregTzsgexZXjz+DvBasZP63rX3bFxUWszl/J1sJCTJ8Xw9b4pTozd7Y6cYuIiIiIiIj0ITNmzuLpggKWbljTprmoaZosKVjNYXzM6UKyn4hIpFAQPcwVFxex8/0PmDVuEp+WHuHpjaswTDANyBoylNmnncGOTe+z54LiTgPW8Q/eR9RnAfS6aAf/nnUxK10uPB4PFosFTJP/+3Bjt77s1q1bw7LFeWRg47Ks0STHxlFRV8t7BZtYWFDA3AXXk5Mz/ZTPg4iIiIiIiIiEXlZWNnMXXM/SvEXsXP4KOdljSHEmUO6qZn3Rdg7jY+6C65VUJyJ9ioLoYW51/kq8R8spD5icHpfINbPOINYeRZ3Xw8ZDezlScQyvxSA/f0WnX1Cu3z9N0kWzKDMMbrBGEbPvUyYPGkKyM4UKdx2rN66nqL6Gq265pUtfdsXFRSxbnMc5zlSmDB5GZVkZ7opqYi0W5o6exMZD+1iat4j09Ax9eYqIiIiIiIj0ETk500lPzyA/fwXLNhZi+nwYNhvjp01hzkztSheRvkdB9DDm9XpZv2IF3qpKzhgyAofVzn+2fUggEMBisTApYyhJ0TGsObiH9StWMH/+gg5LsAQyBrP1f//Azxc+xSSLgwtOyyYpykGU1YbH7+Oc0zJ5e38R6996iwsuuKjTL73V+SuJc9WRleTAU1rGiMQkHPYo3F4PpaVlZFsdbHXVdSnAH2m8Xi9udz0OR4xqvImIiIiIiEi/k5mZRWZmFt75CzQ/FpE+T0H0MOZ213P48EEGBwx2lBwiPSaeS7PG4oxy4PK42XDoU47U1xAdMDl46CBud33zF5ZRUkL8z39MzS9/jelMaH7Mlz54H2tNPdeel0vWoAz8gQA+vw+b1YbVYiEtOYVH1r7B0qX/4J577j/h2LxeLxtWreQsq4MhcU4yB6Z/3vEUGJyUQnHpYYZZHWxYubLTAH+kUP13ERERERERkc/Z7fY+Md8XEemIguhhzGq1UXWsgsQoB+cMOo1oq43lO7YQME0shsGktCEkRcfw7qc7qfK6sVob307bRx+SsOAarIcOYhwrpzrvZbBa8Xq9FKxcwWXpw0l1JrLj0H6OuaowTRPDMBjgTCRjQArT0ofz2op38d5x9wm/CN3uespKSkgfOqZNAB0AA7IGZZB2YC9l+/e1CvBHqpb13+dkjyXVmUCZq5r1qv8uIiIiIiIiIiLSZymIHsb8fh9+w8SGwbajh0mLieermWNIinJQ6XFTcHgfJfU12DHwY+L3+4j+51Kcd9yKUV8PgG3rx1gOHyJw2lBcrmpqjlWQOnQcWz8tJsZqZURCMjG2KOp9HkpqqtlaXUVKXBw1uypwuaoZMCCl3bFZrTaqKithhKVtAL2JAYbVQmVlZXOAP1I11X/PTRvWpvt47rhJLClYrfrvIiIiIiIiIiIifZAl1APoD7xeL9XV1Xi93m7dz2q1gd+P2+vlCwMHM3/MZIYnJBNjszM8IZn5YyYzOTWDeq8Xw+dnwBOPk/CtbzYH0L1TplLxxkoCpw1tfswGr4dPy0vIiHMyefBwMpzJJMbEkOFMZvLg4aTHOdlXVkqD19Ph2Px+H9HxcXxw5ACmabZ7G9M0+eDIARzxcfj9vm699nCzOn8lGdjaBNABDMNg3jkzyMBGfv6KEI1QREREREREREREgiGy04PDXMv62fh9YLV1q3623+/D4/MxJDGBrIQB/HP3x+yuLGv++elJqZw16DSyYuK4e88+kp78XfPP3FfNx/WbJyA6uvmY05lAnRlg69HD3HrWTKpqa3C3CJY77FEMcSax9ehhas0Azha11I/ncMSQkTGE4kOHWfJxIfMmTGkVXDZNk1e3FFLsqiBjyBAcjpgun7dw4/V62VpYyJzssW0C6E0MwyAnewzLNhbi7SP130VERERERERERERB9KA5vn52WmIiJVVV3aqfbbXa8NTVEZ8exd93fMhpziQuH3UGA2PiOFpfy/pDe3lzy3v86EAxQxrcAJgWC7U/+hn1t94O7QR8U5KSOFRVzV83v8fXTx+PMyoam2HBZwao8zTwj23vc6immoFJyR2OzW63kzN7Nh/8+3VWHdzLjrISzh2WTWpsPGV1NazbV8SRhnqciUlMnj07ooPKbnc9ps9LageLCgApzgRMn69P1H8XERERERERERGRRgqiB0F79bOtFoOxAbNb9bNdLhcNHi87Ko7yjXFTuHzkRAyLBQMwgfMTB2C89CQxngYA/PHx1Pz5BTwXXNTu47nd9QxMTuE0WzyrDxRzpNbF9CGZpMTEUV5fy9qDe9hVcZTRAwZxMMHRaTB4xsxZfFxQwGiHk2irjdeKthLwB7BYLUwYcToJPi/bG2qYOXP2qZzOkHM4YjBsdspc1R3ertxVjWGzRXTWvYiIiIiIiIiIiLSmmuhB0FP1sw8c+BSf6WdIfCIXjxiF5bMAOjT28jQSB8DQbACKMFj3+BMnDKBDYzC4tr6Okalp3DplJvFR0fxj52b++OFa/rFzM/FR0dw6ZSYjB6ZTU1/XaTA4KyubuQuuZ5vbRUmti0vOPo+rZ13EJWefR0mti+0NNcxdcH3EN9q02+2MnzKF9UXbO6z/vr5oO+PPnqIsdBERERERERERkT5Emeg9rCfrZ+/atROH1c64AWnU+3x4A7XE2uxYLRb8gQB1Pi/+mV+lrL6O6yrKuK2hgTGdjK/B76fYVcGN02YxOmMINTW1uH0eHLYo4uPjiImJ5dWij2nw+7v0enNyppOenkF+/gqWbyzE9PkwbDbGT5vCnJldq/0eCWbMnMXTBQUs3bCmzeKIaZosKVjNYXzMifCsexEREREREREREWlNQfQe1pP1s2tqaoiyWomy2aj2uEmzWHGXHsSTmgEGOCw2jgX8rB59BrWFq6ipqel0bOkpKZSWV/KvHZuZN2EKCQlJmGYAw7AAjc1ASzz1pKcM7HJt78zMLDIzs/DOX4DbXY/DEdPnsrGbsu6X5i1i5/JXyMkeQ4ozgXJXNeuLtnMYX5/IuhcREREREREREZHWFETvYT1ZP3vIkGHU+7xUNdRTe2Q/ieveIMrjoWTuTdTFOSl2lVPv81LdUE+9z8uQIcM6HVti0gBGpQwmf3/7zUBLGuo5a9Q4dvrd3a7tbbfb+1zwvKWWWffL+nDWvYiIiIiIiIiIiHxOQfQe1lw/u2ATueMmtVvSpbl+9rSO62efffZUarwN+Iu3MbW8BJvXA4Dj7aV8MutrpMTE4g8E2HhkPzUNDZx99tQuja28YBPf/doVrNy6uXUz0MyRXDn+DP5esLrTsfVX/SHrXkRERERERERERD6nIHoQ9FT97NSUFL5nsfDjI/uxfnasPnkgFbO+RlpsPAdrqvhP8SdsKy/BFhNNampql8f2wd4ibpj9JXwzL6Te6yHGHoXNalVt7y7q61n3IiIiIiIiIiIi0khB9CBor372oIQESqu7UT+7oQHnfXfyiMfTfGh9nJP/yxqH48g+qhsa2FZ+hD1Vx6j2NHDv/Q+e9NhU21tERERERERERESkfQqiB8nx9bMJ+MDStfrZRmkpiTdci31jQfOx39mjeD46htiDe7BZLPgCAWq9DZS765l2wQXcdtsdJz021fYWERERERERERERaZ+C6EHUsn623+/Bao3qtASIbctmEq67GuuhgwCYMTG4nnya6oMHqHz2GY5VVmG1WPAHAliSEvj2d7/brQB6e2NTbW8RERERERERERGR9imI3gvsdjtxcQ48Hn+nt7Xs3dMcQPcPHkJ13t/wTTqT24DbbruDsrIy9u//lKFDh3epBnpXxqbguYiIiIiIiIiIiEj7FEQPM55LL6P23geIWvEOVS+8hJmW1urnqampPRI8FxEREREREREREZHOWUI9gH6vRePQJnX3PkDla6+3CaCLiIiIiIiIiIiISO9SED2ELPs+JfmiWTj+uui4H1ggOjo0gxIRERERERERERGRZgqih4j9vXUkXzwL2ycfE3//3djfWxfqIYmIiIiIiIiIiPRbXq8Xl6sar9cb6qFImFFN9BBw/HUR8fffjfHZB9I/dBiBFNU5FxERERERERER6W3FxUWszl/J1sJCTJ8Xw2Zn/JQpzMydTWZmVqiHJ2FAQfTe5PMR96MHiX32meZDntzZVP/5Bcyk5BAOTEREREREREREpP9Zt24NyxbnkYGNOdljSXUmUOaqZn3BJhYWFDB3wfXk5EwP9TAlxPpUEL28vJwf/vCHbNiwAavVyte+9jXuv/9+bLYweJmVFSQuuI6o/BXNh+puuZXa//kFhMP4RERERERERERE+pHi4iKWLc4jN20Yc6eeh2EYzT/LHTeJJQWrWZq3iPT0DGWk93N9qib6nXfeSWxsLKtXr+bVV19l/fr1vPDCC6EeFtZdO4k/P7c5gG7a7bh+9wdqf/6oAugiIiIiIiIiIiIhsDp/JRnY2gTQ4f+zd+dxUZXtH8e/AwwCLriRSlmaC2VqoSgpion7grtpGqammUtu5V5uueb6pJa7ppnmghuWW5qmj6GolVruVuKuuKHszO8Pf8wjyjCgwCB83q8Xr5iz3Pd1rtPgOdfccx/JYDCopXd1FZGDdj80KBbZU5Ypov/zzz/av3+/BgwYIGdnZxUtWlQ9evTQsmXLbBtYfLzyImFS0gAA+nRJREFUvB8g+7NnHrwsWFC31gQpsn0H28YFAAAAAAAAZFMxMTE6FhKiKiVeeayAnsBgMKhKiVd07EAIDxvN5rLMMOhTp04pb968KlSokHlZiRIldPHiRd25c0d58uRJtL3RaC8L7480Zq+I2fOUq35txZcspXvfrZTdiy/KMSO6RiIODva2DgHiPGQGnIPMgfNge5yDzIHzAAAAAFuIjIyQKTZGBXPnSXa7ArnzyBQbq8jICBmNxgyKDplNlimi37t3T87OzomWJby+f//+Y0X0mJi4DItNZcrLsGa9Il4tJ+XKJUVnYN9IJJrcZwqcB9vjHGQOnAfb4xxkDpwHAAAAZDQnJ2cZHIy6fvdOstvduHtHBgcHOTk5J7sdsrYsM52Li4uLIiIiEi1LeJ0zZ05bhJRInE+1BwV0AAAAAAAAADZlNBr1mpeX9p05LpPJlOQ2JpNJ+84c12uVvBiFns1lmSJ6qVKldOvWLV2/ft287MyZMypcuLBy585tw8gAAAAAAAAAZDbVfd/SJcUqcP+exwrpJpNJa4J/0SXFyte3po0iRGaRZaZzKVasmCpWrKhx48Zp9OjRunnzpr766iu1atXK1qEBAAAAAAAAyGRefrmEWnR4T4FLvtHJjStVpcQrKpA7j27cvaN9Z47rkmLVosN7Kl78ZVuHChvLMkV0Sfryyy81evRo1apVS3Z2dmrWrJl69Ohh67AAAAAAAAAAZEJVqviocOEi2r17p9YeCJEpNlYGBwe99qaXmvvWpIAOSZLBZGnSnyzu2rW7Gdqfo6M9D82yMc5B5sB5sD3OQebAebA9zkHmYO08uLkxLR+eTRl9v/Es4u9wxiDPGYM8ZwzynP6ye45jYmIUGRkhJyfndJ0DPbvnOaOkNM8puefIMnOiAwAAAMDTioiIUJs2bRQYGJho+blz5/Tee+/J09NT1apV0+zZs20UIQAASC9Go1G5c+fhIaJ4DEV0AAAAAJB06tQptW/fXr/99lui5TExMfrwww9Vrlw5BQcHa+7cuVq2bJl+/PFH2wQKAACADEURHQAAAEC2t2/fPr333ntq3ry53N3dE607cOCArl69qt69e8vR0VFlypRRQECAli1bZqNoAQAAkJGy1INFAQAAACApkZGRunLlSpLr3Nzc9Morr2jnzp3KkSOHFi1alGj9qVOnVLx4cTk6OpqXlSxZUnPnzrXYn9FoL4MhbWLPqhwc7G0dQrZAnjMGec4Y5Dn9keOMQZ4zRlrmmSI6AAAAgCzv999/V4cOHZJcN2vWLNWuXdvivvfu3ZOzs3OiZc7Ozrp//77FfWJieFhYSvBQtYxBnjMGec4Y5Dn9keOMQZ4zRlrlmSI6AAAAgCzP29tbJ06ceKJ9XVxcFBERkWhZRESEcubMmRahAQAAIJNjTnQAAAAASEapUqX0999/KzY21rzs9OnTKlWqlA2jAgAAQEahiA4AAAAAyfD29la+fPk0ZcoURUVF6fjx41q6dKlatWpl69AAAACQAZjOBQAAAACS4eDgoIULF2r06NHy8fGRi4uLAgIC1KJFC1uHBgAAgAxAER0AAAAAHrJjx47Hlr300ktasGCBDaIBAACArTGdCwAAAAAAAAAAFlBEBwAAAAAAAADAAoroAAAAAAAAAABYQBEdAAAAAAAAAAALKKIDAAAAAAAAAGABRXQAAAAAAAAAACygiA4AAAAAAAAAgAUGk8lksnUQAAAAAAAAAABkRoxEBwAAAAAAAADAAoroAAAAAAAAAABYQBEdAAAAAAAAAAALKKIDAAAAAAAAAGABRXQAAAAAAAAAACygiJ7Obty4oR49esjLy0ve3t4aO3asYmNjbR1WtvLDDz+oTJky8vT0NP8MGDDA1mFlG2FhYapTp46Cg4PNy37//Xe1bt1anp6e8vPz06pVq2wYYdaX1DkYMWKEypYtm+h98f3339swyqzp+PHj6tSpkypXriwfHx8NHDhQYWFhkngfZKTkzgPvhYyxb98+tW7dWhUqVJCPj48+//xzRUZGSuK9AGRHyf1dRtqKi4tTQECABg8ebOtQsqxbt25p4MCB8vb2VqVKldSjRw9dvXrV1mFlKceOHVP79u3l5eWlatWqacyYMYqOjrZ1WFkG9+wZI6k8b9myRU2bNlWFChXk5+enmTNnKj4+3oZRPvuSynOCq1evqmrVqgoMDHyitimip7O+ffvKxcVFv/zyi1avXq19+/Zp8eLFtg4rWzly5IiaNm2qw4cPm38mTZpk67CyhYMHD6pNmzb6999/zctu376tDz74QM2aNdOBAwc0duxYjR8/Xn/88YcNI826kjoH0oP3xeeff57ofdGmTRsbRZk1RUZGqkuXLvL09NSePXsUFBSkW7duaejQobwPMlBy50HivZARwsLC1K1bN73zzjsKCQnR2rVrtX//fs2dO5f3ApANWfu7jLQ1c+ZMhYSE2DqMLO2jjz7S/fv3tW3bNu3cuVP29vb67LPPbB1WlhEfH69u3bqpXr162r9/v1avXq09e/Zo3rx5tg4tS+CePWMkleejR49q4MCB6tu3r0JCQjRv3jwFBgZSM3wKluof0oO/JZ988olu3rz5xO1TRE9H//zzj/bv368BAwbI2dlZRYsWVY8ePbRs2TJbh5atHDlyRGXLlrV1GNnO2rVr9cknn6hfv36Jlm/dulV58+ZV+/bt5eDgoCpVqsjf35/3RTqwdA6io6N18uRJ3hfp7OLFi3rllVfUs2dPOTo6Kl++fGrTpo0OHDjA+yADJXceeC9kjPz58+u///2vWrRoIYPBoFu3bikqKkr58+fnvQBkQ8n9XUba2rdvn7Zu3aq6devaOpQs6+jRo/r99981YcIE5cmTR7ly5dLnn3+uTz75xNahZRm3b9/WtWvXFB8fL5PJJEmys7OTs7OzjSN79nHPnjEs5fnChQtq27atatasKTs7O5UoUUJ16tTh38MnZCnPCWbNmqXChQurSJEiT9wHRfR0dOrUKeXNm1eFChUyLytRooQuXryoO3fu2DCy7CM+Pl7Hjh3Tzz//rJo1a8rX11efffaZbt++bevQsrxq1app27ZtatiwYaLlp06dUunSpRMtK1mypI4fP56R4WULls7B8ePHFRsbqy+//FJVq1ZVvXr1NHfuXL42lsZefvllzZ8/X/b29uZlW7Zs0Wuvvcb7IAMldx54L2ScXLlySZJq1Kghf39/ubm5qUWLFrwXgGwoub/LSDs3btzQsGHDNGXKFIqN6eiPP/5QyZIltXLlStWpU0fVqlXTxIkT5ebmZuvQsox8+fKpY8eOmjhxosqVK6caNWqoWLFi6tixo61De+Zxz54xLOW5Xr16GjJkiPl1ZGSkfv75Z/49fEKW8ixJv/76qzZt2qQRI0Y8VR8U0dPRvXv3HrtgSXh9//59W4SU7YSFhalMmTKqV6+efvjhB61YsUJ///03c6JnADc3Nzk4ODy2PKn3hZOTE++JdGDpHNy9e1eVK1dWQECAdu3apUmTJmnp0qVauHChDaLMHkwmk6ZNm6adO3dq2LBhvA9s5NHzwHsh423dulW7d++WnZ2devfuzXsByOYe/buMtBEfH68BAwaoU6dOeuWVV2wdTpZ2+/ZtnThxQn///bfWrl2rdevW6cqVKxo0aJCtQ8sy4uPj5eTkpM8++0y//fabgoKCdObMGX355Ze2Du2Zxz17xrCU54eFh4erZ8+ecnJy4gOiJ2Qpzzdu3NDQoUM1efJk5cyZ86n6oIiejlxcXBQREZFoWcLrpz1xSJmCBQtq2bJlatWqlZydneXu7q4BAwZo9+7dCg8Pt3V42ZKzs7P5YXIJIiMjeU9kIB8fHy1ZskSVK1eW0WhU+fLl9d577+mHH36wdWhZUnh4uHr37q2NGzfq22+/lYeHB+8DG0jqPPBeyHhOTk4qVKiQBgwYoF9++YX3ApCNJfV3GWljzpw5cnR0VEBAgK1DyfIcHR0lScOGDVOuXLlUsGBB9e3bV7t27dK9e/dsHF3WsG3bNm3ZskXt2rWTo6OjSpUqpZ49e2r58uW2Di3L4vosY509e1Zt27ZVbGyslixZYv4GJ56eyWTSwIEDFRAQkCZTeFJET0elSpXSrVu3dP36dfOyM2fOqHDhwsqdO7cNI8s+jh8/rsmTJ5vnTpMezAdtZ2dnvuBBxipdurROnTqVaNnp06dVqlQpG0WU/Wzfvl0rVqxItCw6OlpOTk42iijr+vfff9WyZUuFh4dr9erV5gIB74OMZek88F7IGIcOHVL9+vUVHR1tXhYdHS2j0aiSJUvyXgCyIUt/l5E21q9fr/3798vLy0teXl4KCgpSUFCQvLy8bB1allOyZEnFx8crJibGvCxhWriH70Hx5C5dupToGkKSHBwcZDQabRRR1se9SsbZtWuXWrdurerVq2vBggVydXW1dUhZyqVLl7R//37NmjXL/G/ixYsXNWrUKHXr1i3V7VFET0fFihVTxYoVNW7cOIWHh+v8+fP66quv1KpVK1uHlm3kzZtXy5Yt0/z58xUbG6uLFy9q0qRJat68OUV0G6lTp46uX7+uxYsXKyYmRr/++qs2btyoli1b2jq0bMNkMmn8+PHat2+fTCaTDh8+rCVLlqhNmza2Di1LuX37tt577z1VqFBBCxYsUP78+c3reB9knOTOA++FjOHh4aHIyEhNmTJF0dHRunDhgiZOnKhWrVqpXr16vBeAbCa5v8tIG5s3b9ahQ4cUEhKikJAQNW7cWI0bN1ZISIitQ8tyqlatqqJFi2ro0KG6d++ewsLCNG3aNNWuXZvRpGmkWrVqunbtmmbPnq24uDidP39eX3/9tfz9/W0dWpbFvUrG+O2339SzZ08NGTJEgwYNsjrlC1LP3d1dR44cMf97GBISInd3d40YMUJz5sxJdXsGEx+Ppqvr169r9OjRCg4Olp2dnZo1a6ZPPvkk0YN0kL7279+vqVOn6uTJk8qRI4caNWqkAQMGKEeOHLYOLdvw8PDQkiVL5O3tLUk6cuSIxo4dq5MnTyp//vzq0aOHWrRoYeMos7ZHz8GKFSu0aNEiXblyRQULFlSnTp3Uvn17G0eZtSxatEgTJkyQs7OzDAZDonWHDx/mfZBBrJ0H3gsZ4/Tp0xo3bpyOHDmi3Llzy9/fXz179pSjoyPvBSCbsfZ3GWlv8ODBkqQJEybYOJKs6cqVK5owYYIOHDigqKgo+fn5adiwYcqTJ4+tQ8sy/vvf/2r69Ok6e/ascufOrSZNmpivI5A2uGfPGA/n+cMPP9TPP//82PzzFStW1Pz5820UYdbw6P/PD/Pz81OvXr2e6P9niugAAAAAAAAAAFjAdC4AAAAAAAAAAFhAER0AAAAAAAAAAAsoogMAAAAAAAAAYAFFdAAAAAAAAAAALKCIDgAAAAAAAACABRTRAQAAAAAAAACwgCI6AAAAAAAAAAAWUEQHACvCw8P1+uuvq2rVqoqOjk7VvqdOndLPP/+cpvH4+flpxowZjy03mUyqXbu2evToYXHf999/X++++67VPmbMmCE/P7+nihMAAADIbvz8/OTh4WH+efXVV+Xl5aWAgACFhISkeX/BwcHy8PBQaGioJCkgIECDBw9O0b7379/XsmXLnqr/0NBQeXh4KDg4OMl1r7zyihYvXpzkvtHR0apUqZK+/PJLq/2k5rgAID1QRAcAKzZt2qQCBQooPDxc27ZtS9W+3bp105EjR9IpssQMBoNatGih3bt369atW4+tv3r1qvbt26dWrVplSDwAAABAdtS5c2ft2bNHe/bs0a5du/Tdd98pZ86c6tKliy5fvpyufc+YMUPDhg1L0bYLFy7UggUL0i2WF154QW+++aY2btyY5Prt27fr7t27atGiRbrFAABphSI6AFixZs0aVatWTVWqVNGKFStsHU6yWrRoobi4OG3ZsuWxdRs2bJCLi4vq169vg8gAAACA7MHFxUVubm5yc3PTc889p9KlS2vUqFGKiIjQ1q1b07XvvHnzKnfu3Cna1mQypWssktSqVSsdPXpUZ8+efWzdunXrVLVqVb3wwgvpHgcAPC2K6ACQjDNnzuj333+Xj4+P6tevr/379+vMmTOJtlm6dKnq1aun8uXLq2HDhlq/fr2kB1/lvHDhgmbOnKmAgABJkoeHhwIDAxPt/+j0LGvWrFGzZs1Uvnx5vfHGGwoICNCxY8dSFG/hwoVVrVq1JEd7rF+/Xo0aNZKTk5NOnTqlHj16yNvbW2XLllWdOnX0zTffWGw3JXEfOnRI7du3V/ny5fXWW29p1KhRCg8PN6//448/1K5dO3l6eqpSpUr66KOPdPHixRQdFwAAAPAsc3BwkCQ5OjpKenAtPW7cODVs2FDe3t769ddfZTKZNG/ePNWqVUuvv/66mjZtqg0bNiRqJyQkRK1bt1b58uXVrFkznThxItH6R6c9OXr0qDp16iRPT09VrVpVw4cP1/379zVjxgzNnDlTFy5cSDQdzJo1a9SgQQOVL19eDRo00DfffKP4+HhzeydPnlSHDh30xhtvqF69evr111+TPe66devK1dVVQUFBiZZfv35de/fuNX9LdseOHWrbtq08PT1Vrlw5tWrVSv/973+TbPPRKWykpKeVsXYs69atU6NGjVSuXDlVr15dY8eOTfX0nQCyD4roAJCM1atXy8XFRb6+vqpdu7YcHR21fPly8/oFCxZo8uTJev/99xUUFKT27dtryJAh2rt3r1avXq3ChQurc+fOSc5hnpRt27ZpxIgR6tixo3788Ud98803ioyMTPFXMqUHoz1CQkISFaiPHTumkydPqnXr1oqIiFCnTp3k4uKi7777Tps2bVKDBg00btw4/fXXXylPzkOOHz+ujh07ysfHRxs2bNDkyZN17Ngxde7cWSaTSfHx8erWrZsqVaqkDRs2aPHixbp48aKGDh36RP0BAAAAz4orV65o9OjR5vuKBMuXL9enn36q+fPnq0KFCpo2bZq+++47ffrpp9q4caM6dOigkSNHmuctP3/+vDp37qxXX31Va9euVffu3TVr1iyL/YaGhiogIED58+fX999/r5kzZyo4OFjDhw9X586d1blzZxUuXFh79uxRkSJF9P3332vixInq2bOnNm3apL59+2revHmaPHmyJOnu3bvq2LGjcuXKpVWrVmn48OH66quvkj12R0dH+fv7PzbIZ+PGjcqVK5dq166to0ePqmfPnqpbt642bNigVatWqUCBAvrk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//3vE33ztl27dpIePHspwbvvviuj0ShPT08ZDAaZTKYkj69fv35ycHBQgQIF1LFjR3366af6448/FB0drW3btkmS3N3d9eGHH8pgMCh//vzq16+fOnbsqJMnT+rff//Viy++aG4vJfc+Cd9iNZlMOnPmjNasWaMDBw6Y1z8aZ65cuczHWLdu3ce227dvn6QH3zYuX768JKlevXravn27eWqhhEFJ4eHhat++vbmN2NhYxcXF6ddff1XTpk0txgzgyVBEB5ApJDxY9Pjx4+rWrZsuX76swMBANWvWzLxNwtzocXFxSX66fvnyZUnStGnTNGHCBP30009au3ateSSzj4+PJk+erPz58z+278MP23FzczP/ntwojUfnm3u0gB0WFqaRI0dq+/btio+P18svvyyj0Zjkvk/j4Tnjkzo26cGNwLx58zRx4kTt3btX33//vb7//nvZ2dmpfv36mjBhQqKvGVrycG6sSfjwI0FCLh99sNGjuXjSh/UkzGXu5uaW6Ku5zz//vPli+9H5zh+OMWEf5hEEAADInBKu5QwGQ6IBMs7OzipYsKAuXrxoLrIneO655xK9TrgmvXv37lPF0qxZs0T3Kvny5VOLFi00btw4HTt2zOr+yT1Y9Pbt2+Zr4oev9RMk3PdERkbq888/18aNGxUVFaWiRYuapxhJ6TVtaq7FH87lw3El9W3YhBhTw8HBwTwFTMJ9k/S/b94aDAbz9CqP3nvZ2dklGhyUcJ7j4uJ079498/87L7zwggwGg3m7F154wfz79evXExXRU3rvs2HDBk2dOlWXLl1Srly5En1j99E48+fPb+7fwcFBRqNRMTEx5u0SptZ89AOWh+fmT8h9TExMkvfFjEQH0gdFdACZyiuvvKLJkyerQ4cO+vvvv9W/f38tXbpUdnZ25ouY/Pnzmz+hlx58ap8wCkV6MJf3559/rnHjxunw4cM6ePCgVqxYob179+rLL7/UyJEjH+s3T5485kLrwxcdSV2AJFz0PPxw0Pv37ys2NjbRdmPGjNGWLVtUrVo1TZo0Sfnz59eUKVPMI97TysNfF314xMajSpQoYR4lERISooMHD+q7777TDz/8oDJlyqhr166JLiiTkpIR6AkSHliaIOHiOm/evJIeXOhKD0ZMxMfHm18/ekNjLaYECRfN165dU2RkpDnW0NBQ883BoxfCD88HmdJ+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W1q9erXs7P73BdIuXbood+7cyp07t3mu8uSK6P/++69OnjypFStWyNHRURUrVtTSpUvl4uKi7du3KygoyNxenz59NHr0aItF9F27dunFF19U06ZNJUkNGzbUkiVLtHv3bt27d09lypRR3bp1JUkdOnRQ5cqVk81JUFCQxo0bp+eee06SNGjQIDVp0sRcKPf29tbrr78uSapdu7Y2btyYklSbOTk5af369SpatKhu3rype/fuycXFRdevX1eBAgV048YNrVmzRnXq1NHXX3+dKM8//fSTdu3apY0bN6pQoUKSpNy5c2vPnj3avn27qlatquDg4ET7PCw2Ll6meFOq4s1uDHYGcmQFObLuWc/Rnet3070Po9FeMTFx6d7Ps4r8WEeOrCNH1mXmHBVMwQeaFNEBpKu9E2fLISZasUZHW4cCAMjG8ufPL0lycHhw+RsfH5/s9q6urjL8/3c77e3tlTv3/y6s7ezsZDKlvmDj5uZm/t3BwUFLly7VunXrlD9/fnNx3WQyqVq1avr444+1YsUKjRo1Sp6enpowYYJ5tPPDsRiNRsXFJX8zcuPGDeXNm1eOjv/7t7hs2bK6evWqYmNj9fzzz5uXu7u76/LlyxbbunTpko4ePSovLy/zstjYWF26dEmxsbHmYrP04IOChOOyJCwsTO7u7ubXzz//vGJiYswfciScN+nBeUht3u3t7bV161YtXrxYzs7OKleunEwmk0wmk0qUKKFJkyZp0aJFmjJlikqWLKmxY8eqbNmykh6M+C9evLg2b96s7t27S5J69eqluLg4TZw4UZcvX5a/v7+GDx8uZ2fnVMUFAAme4J+TTN3Ps4r8WEeOrCNH1j3LOWJOdADp6mrlarpc3U9XK1ezdSgAAJgVLVpUsbGx5tcPP/hSkrmAnpYebnPTpk3as2ePfvzxR23atElDhgwxrzt//rwqVKigNWvWaPfu3Xruuef0xRdfPHG/hQoV0q1btxQdHW1etmjRIt25c0dGozHRPOOhoaEqUKCAxbbc3NxUpUoVhYSEmH82btyotm3bqlChQrp69ap529jYWE2YMCHRfO6PKly4sC5evJiofwcHB7m6uj7p4SZy6NAhLVy4UCtXrtTWrVsTzYd+9epVubu7a9myZdq3b5+8vb01fPhw8/q+fftq7NixmjNnjv79919J0okTJ9S5c2dt375d69at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U6dUsWJFPf3003J3d9fw4cMVHBys6dOn68iRI8qXL5969Oihvn37ymQy6eLFi5o+fbrOnDmju3fvqmbNmpo7d67y5s2rXr16qX379urQoUOKcV25ckWTJk3SiRMn5OrqKl9fXzVt2lShoaGaMmWKTp48qbCwMFWpUkXz5s2Tm5ubxo4dqwIFCujo0aO6ePGiqlevrjlz5qhgwYKSpIsXL6p79+46c+aMqlatqgULFpjbkL2YTNaO4P/ZUiy2ihyljhyljPykjhyljhyl7nHOUZqL6KtXr9agQYPk4uJiXte/f3/NmjVLTzzxRJYEBwAAADzOTp8+rVmzZmnlypUqU6aMRo8enWSb48ePa+bMmVq+fLlKly6t+fPn66233jJfcb1v3z4tWrRIfn5+mj59ut599119+umnyY7p4uKipUuXJirSPxAdHa1XX31VAwcO1Lp167R7924NGzZMBw4ckCQdOnRIa9askaOjozp27Khdu3apTZs2qT7P3bt3a/Xq1UpISFDXrl3N+7355puqVKmSli5dqp9//lkDBw7Uq6++KkkaOnSoKlasqAMHDujatWsaOHCgChUqpPbt22vChAmqXbu2PvnkE926dUu9evVSQECAunXrlubcv/766/L29tbixYt16tQpDRgwQC+88ILmzZunggUL6ptvvlF0dLQGDx6stWvX6s0335QkBQQEaN26dSpUqJD69Omj9evXa/DgwZKkH374QevWrZO7u7t69+6dqO2/HOztZHJ4jD8p5nB5XfNZOwQAAGBD0lxENwwjybrjx48rOjraogEBAAAA2cU333yjJk2aqHLlypKkESNGaM+ePYm22bp1q7p06aKKFStKkkaNGqVq1aopJCREklS6dGk1btxYkvTSSy9pwoQJGY7n+PHjcnBw0CuvvCJJatGihTw8PGT632VBL7/8stzc3CRJL7zwQppvTtquXTvzhTXVq1fX5cuXdfXqVZ08eVIrVqyQk5OTatWqpaZNm0qSLl26pD/++ENr1qxR7ty5VapUKQ0YMEDbtm1T+/btNWfOHLm6uioqKkrBwcEqWLCgOR9pcfnyZf3555/asGGDnJycVK1aNa1Zs0Z58uTRm2++KRcXFyUkJOjatWtJ+m7atKlKliwpSapfv74uX75sbmvdurVKly4tSapTp06K+YmLT5CRkPQzFP6fyc5kszm6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0X0p5ei/cuK56JtvvjG8vLyMEydOGAkJCcbx48cNLy8vY9euXYZhPL7nIoro6fDjjz8atWrVMlavXm00bNgwURH9hx9+MKpWrZroRLJkyRKjR48e1gg1RxszZowxe/Zsa4eRo128eNEoV65coje0O3bsMBo2bGjFqGAYhtGjRw9j7dq11g4jx/P39zcaNmxo7NixI1Gx9osvvjCaNm2aaNuJEycaY8aMsUaYOU5yxyU6Otp47rnnjD///NPKEQJ4VNLzXsbPz8/o27dvonX9+/c33n//fcMwDKNbt27Gxx9/bG6LiYkxPD09jUOHDhmRkZHGc889Z/z888/m9l9++cWoXLmyERkZaemnZVGWzNGECROM7777LlF79erVjd27dxuG8fi+v7dkjjZt2mR06NDhoePwOno/ybabN2826tSpY4SFhZnX5YTXkWHcL3L179/fWLBgQZLiHuej+1LKUXY8H1kyP5yL7kspR/+WU89Fa9euNZYsWZJo3dChQ41p06YZhvH4notsejqXRy0qKkqXLl166CMyMlIVKlTQvn371KtXL5lMpkT7njt3TqVKlZKTk5N5XZkyZXTmzJlH/TSyvdSO06lTp3T69Gk1bdpUtWvX1siRI3X9+nVrh52jnDt3TgULFpSbm5t5XenSpXX16lXdvn3bipHlbAkJCTp9+rS+++47NWrUSPXr19eECRP0zz//WDu0HKdu3br65ptv1KJFi0Trz507p3LlyiVax/8lj05yx+XMmTOKi4vTBx98oNq1a6tZs2b65JNPlJCQYKVIAWS19LyXOX/+fIrn7v+2Ozo6qmTJkjpz5owuXbqk2NjYRO2lS5dWVFSULl68mAXPzHIsmaOpU6cmmo7z0KFDioiIUIUKFSTpsX1/b8kcnTp1StHR0erYsaNq1qypHj166Pjx45LE6+g/75MiIiI0Z84cvf322ypUqJB5fU54HUnS3LlztWzZMj311FNJ2jgf3ZdSjrLj+ciS+eFcdF9KOXogJ5+LevTooUGDBpmXQ0NDdfToUVWqVEnS43suooj+L7/++quaNm360MePP/6oQoUKKVeuXA/d9+7du3J2dk60ztnZ2TwvFCwnpeP0/fff64knnlDdunW1efNmBQQEyGQyadCgQYqPj7d26DlGcr8PkvidsKKwsDBVrFhRzZo1086dO7VhwwZdvHiROdGt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WrRoonVPP/20fvvtN+3YscMiRfR8+fJlug8AAAAAAACkDdO5AMAjkCtXLtnZ3T/lxsTEaO7cuapXr548PT3VpUsXHTx40LxtfHy85s6dqwYNGqhSpUp66aWXtH79enP7f7/WeezYMXXu3FmVK1dWu3btdPbs2URj9+rVS2PHjk207r99/Pzzz+rbt6+qVaumSpUqqVWrVgoICEj2+WzdulUtW7bU888/r3r16mnGjBmKiYnJWHIAAAAApMjHx0dr1qzR8OHDVaVKFdWvX18bN27UiRMn1K5dO1WpUkXdunXT5cuXJUlBQUEqX768tm/frjZt2qhy5crq0qWLjh8/nqjfrVu3mtt9fHy0ePFiJSQkJOrjo48+Up06deTj46O2bdvqp59+0pYtW+Tj4yNJun79ukaPHq3atWvrueeeU4MGDbRgwQJzP/7+/vLx8dGWLVvUpEkTVapUSR07dtSJEyfMccTFxWnhwoXy8fFRlSpV1KFDBx04cMDcHhgYqIEDB8rT01N169bVm2++qZs3b2ZpzgHg3yiiA0AWiouL03fffadt27apbdu2kqRx48bp+++/19y5c7VlyxY1b95cr732mr777jtJ0meffaZdu3ZpwYIF+vrrr9WzZ09NnjxZx44dS9L/lStX1K9fPz377LPasmWLBg8erEWLFqUrxuDgYPXr108VKlSQv7+/tm3bpueff17jxo1TSEhIku3PnDmjd955R8OHD9fXX3+tmTNnatu2bVq2bFn6EwQAAAAgTebPn6969eopICBADRs21OTJkzVp0iSNHTtWa9eu1c2bNzVv3rxE+8yYMUODBg3Sli1b9Mwzz6hv3766cuWKJGnlypWaMGGCunbtqi+//FKjRo3S8uXL9e677ybq48svv9SqVav0/vvva9WqVfL09FTz5s21adMmSdKrr76qsLAwLV++XLt27dKAAQO0ePFi7d2719zHjRs3tGHDBs2dO1eff/657Ozs9NZbb8kwDEnSzJkztW7dOo0ePVrbt29XgwYNNGTIEJ0/f17BwcF6+eWXVaJECW3atEmLFy/WnTt31K1bN0VGRmZlygHAjOlcAMCCtm/frq+//tq8HBUVJQ8PD/Xv31+vvfaaLl26pICAAG3atEnPP/+8JKlv3746c+aMli9froYNG+ry5ctycXFRiRIlVLRoUfXs2VPPPPOMSpUqlWS8L774Qq6urpo0aZLs7e1VunRpXbt2TbNmzUpzzDExMRo2bJj69+9vvlr+1Vdflb+/vy5evChXV9dE2wcFBclkMunJJ5+Uh4eHPDw8tHz5cuXNmzcjKQMAAACQBvXr11eXLl0kSa+88oo+//xz9erVSzVr1pR0//5M3377baJ9Xn31VbVq1UqSNG3aNB0+fFhffPGF3njjDS1dulQ9e/ZUjx49JEklS5ZUeHi45syZo6FDh5r7ePnll1WmTBnzsqOjo3Lnzq3ChQsrKipKbdu2VbNmzVS8eHFJ978J+8knn+js2bN68cUXJUmxsbGaPHmynn32WXNcQ4cO1c2bN+Xi4qIvvvhC77zzjlq0aCFJev3115WQkKC7d+8qICBATzzxRKKpMd977z3VrFlTu3btUocOHSyXZABIBkV0ALAgHx8fjR49WgkJCfr11181a9Ys1a5dW6+99pocHBz0+++/S7r/pvffYmNjlT9/fklSjx499O2336p+/fqqVKmS6tSpo+bNm6tIkSJJxvvzzz9VsWJF2dvbm9e98MIL6Yq5RIkS6tixo9auXavz58/r4sWL+uOPPyTpoTcwfTANTceOHVWyZEnVrl1bjRs3VqVKldI1LgAAAIC0+/dFNblz55YkPfnkk+Z1uXLlSjLFYo0aNcw/Ozo66rnnntOff/6psLAwhYSEqFq1aom2r169umJjY/XXX3+ZP388/fTTycaUO3du9ezZU7t27dKqVat06dIlnTlzRjdu3DBP5/JA6dKlzT8/uM9TbGysLly4oNjYWFWtWjXR9qNGjZIkLVq0SIGBgfL09EzUHh0drcDAwGRjAwBLoogOABaUJ08e85vMUqVKyd3dXX379pW9vb0mT55s/rriunXrlCdPnkT7PrgKvGTJktq9e7d++ukn/fDDD9qzZ48WL16sWbNmqX379knGfNDnAw4OSU/t/90mNjbW/HNgYKC6d++uihUrqk6dOmrcuLEKFSqkzp07P/Q55sqVS6tXr9bvv/+ugwcP6uDBg9qwYYPatWuXrivgAQAAAKTdw97nP/gMkdZ9EhISZGdnl+TzwQMPLqL5934PCvYPc+/ePfXo0UP37t1T8+bN1bZtW02YMMF8dfu/OTk5JVlnGIYcHR1TfA4JCQmqWbOmJk2alKTtQTEeALIac6IDQBaqWbOm+vbtq/Xr1+vAgQMqW7aspPtzAj799NPmh7+/vzZv3ixJWr16tXbv3q06depozJgx2r59u2rVqqWdO3cm6f/ZZ5/VqVOnEl1xcurUqUTbODo6KiIiItG6BzcckqT169erSJEiWrlypQYOHKgGDRqY50J/2Jvr/fv368MPP1TFihU1aNAgrV69WiNGjHhofAAAAACs59+fDWJiYnT69Gk999xzKlKkiIoUKaKff/450fbHjh2To6OjnnrqqTT1//333+v06dNas2aNRowYoRYtWihv3rwKDQ1NtlD/X08//bQcHR2TfI7p1KmTli1bprJlyyowMFDFihUzf34qUKCAZs6cqT///DNNYwBAZlFEB4As9vrrr6tkyZKaNGmSPDw81KhRI02aNEl79uzRlStXtHz5ci1ZskQlSpSQJIWGhmrq1Knas2eP/v77bx04cEC///57kq8vSlL37t117949vf322woMDNS+ffv04YcfJtrmhRde0I8//qi9e/fqypUr+uCDDxK92XR3d9f169e1f/9+/f3339q9e7cmT54sSUm+Dirdvypl0aJFWrlypa5cuaJTp05p3759D40PAAAAgPW89957+u677xQYGKi3335b9+7dU5cuXWQymdSvXz+tXbtW69at06VLl7R9+3Z9+OGH6tq1a4pXeOfJk0d///23rl+/Lnd3d0n3bz76999/69ixYxoyZIhiY2Mf+lniYZydndWzZ0+9//772rNnjy5fvqwFCxbo/PnzatSokV5++WVFRETojTfe0B9//KEzZ87ozTff1MmTJ80XKQFAVmM6FwDIYrly5dK0adP0yiuvaMGCBebHpEmT9M8//6hEiRKaNm2aOnbsKEkaNmyY4uLiNG3aNIWEhKho0aJ6+eWX9eqrrybp283NTatWrdLMmTPVvn17FStWTIMHD9aUKVPM2/Tp00dXrlyRr6+vTCaTWrRooT59+uj48eOS7s/P/tdff2nMmDGKiYlRyZIl9cYbb+iDDz7QyZMnVb9+/URj1qlTRzNmzNCKFSu0YMEC5c6dW//X3h3iqhmEYRh9GwhL4MIKkOCQCBwCTbDABjCAw/2KBI3iB/aCZg8INBtoXVUnvRU3bZNzFjCZjHwy881oNMp2u/3CUwQAAP7UbDZLVVV5vV7p9/u5Xq9pt9tJkuVymVarlbquU1VVOp1OVqtVFovFb9fcbDaZTqe53+/Z7XY5n885Ho/5+PjIZDJJt9vN4/H49D7X63WazWb2+33e73d6vV5Op9PPOeq32y2HwyHz+TyNRiODwSB1Xf/y3yiAr/Dt+2ff1wAAAADwz3s+nxmPx7lcLhkOh397OwD/PeNcAAAAAACgQEQHAAAAAIAC41wAAAAAAKDATXQAAAAAACgQ0QEAAAAAoEBEBwAAAACAAhEdAAAAAAAKRHQAAAAAACgQ0QEAAAAAoEBEBwAAAACAAhEdAAAAAAAKfgBLTmSKdiKj4gAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "✅ Saved: plts/final_model_test_results.png\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"🎯 FINAL TRAINING WITH BEST FEATURES\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "# Get best configuration\n",
+ "best_num_features = int(best_result['num_features'])\n",
+ "best_model_name = best_result['model']\n",
+ "\n",
+ "print(f\"\\n📋 Best Configuration:\")\n",
+ "print(f\" Model: {best_model_name}\")\n",
+ "print(f\" Number of Features: {best_num_features}\")\n",
+ "\n",
+ "# Prepare scaled data for all sets\n",
+ "print(\"\\n📏 Preparing scaled data...\")\n",
+ "\n",
+ "# Drop non-numeric columns\n",
+ "non_numeric_cols_final = X_train.select_dtypes(exclude=['int64', 'float64']).columns.tolist()\n",
+ "if non_numeric_cols_final:\n",
+ " print(f\" Dropping {len(non_numeric_cols_final)} non-numeric columns\")\n",
+ " X_train_final_scaled = X_train.drop(columns=non_numeric_cols_final).copy()\n",
+ " X_val_final_scaled = X_val.drop(columns=non_numeric_cols_final).copy()\n",
+ " X_test_final_scaled = X_test.drop(columns=non_numeric_cols_final).copy()\n",
+ "else:\n",
+ " X_train_final_scaled = X_train.copy()\n",
+ " X_val_final_scaled = X_val.copy()\n",
+ " X_test_final_scaled = X_test.copy()\n",
+ "\n",
+ "# Identify columns to scale\n",
+ "binary_cols_final = [col for col in X_train_final_scaled.columns if X_train_final_scaled[col].nunique() == 2 and set(X_train_final_scaled[col].unique()).issubset({0, 1})]\n",
+ "onehot_cols_final = [col for col in X_train_final_scaled.columns if col.startswith('loai_ca_')]\n",
+ "cols_to_scale_final = [col for col in X_train_final_scaled.columns if col not in binary_cols_final and col not in onehot_cols_final]\n",
+ "\n",
+ "scaler_final = StandardScaler()\n",
+ "if cols_to_scale_final:\n",
+ " X_train_final_scaled[cols_to_scale_final] = scaler_final.fit_transform(X_train_final_scaled[cols_to_scale_final])\n",
+ " X_val_final_scaled[cols_to_scale_final] = scaler_final.transform(X_val_final_scaled[cols_to_scale_final])\n",
+ " X_test_final_scaled[cols_to_scale_final] = scaler_final.transform(X_test_final_scaled[cols_to_scale_final])\n",
+ " print(f\" ✅ Scaled {len(cols_to_scale_final)} numeric features\")\n",
+ "\n",
+ "# Select best features\n",
+ "if best_num_features < X_train_final_scaled.shape[1]:\n",
+ " selected_features = aggregated.head(best_num_features)['feature'].tolist()\n",
+ " \n",
+ " print(f\"\\n📋 Using Top {best_num_features} Selected Features\")\n",
+ " print(f\" Top 5: {', '.join(selected_features[:5])}\")\n",
+ " if best_num_features > 5:\n",
+ " print(f\" ... and {best_num_features - 5} more features\")\n",
+ " \n",
+ " X_train_final = X_train_final_scaled[selected_features]\n",
+ " X_val_final = X_val_final_scaled[selected_features]\n",
+ " X_test_final = X_test_final_scaled[selected_features]\n",
+ "else:\n",
+ " print(f\"\\n📋 Using ALL {X_train_final_scaled.shape[1]} Features\")\n",
+ " selected_features = X_train_final_scaled.columns.tolist()\n",
+ " X_train_final = X_train_final_scaled\n",
+ " X_val_final = X_val_final_scaled\n",
+ " X_test_final = X_test_final_scaled\n",
+ "\n",
+ "# Combine train + validation for final training\n",
+ "X_train_val = pd.concat([X_train_final, X_val_final])\n",
+ "y_train_val = pd.concat([y_train, y_val])\n",
+ "\n",
+ "# Initialize best model\n",
+ "if best_model_name == 'Random Forest':\n",
+ " final_model = RandomForestRegressor(n_estimators=150, max_depth=20, min_samples_split=5, random_state=RANDOM_STATE, n_jobs=-1)\n",
+ "elif best_model_name == 'Gradient Boosting':\n",
+ " final_model = GradientBoostingRegressor(n_estimators=150, learning_rate=0.05, max_depth=7, random_state=RANDOM_STATE)\n",
+ "elif best_model_name == 'XGBoost':\n",
+ " final_model = xgb.XGBRegressor(n_estimators=150, learning_rate=0.05, max_depth=7, random_state=RANDOM_STATE, n_jobs=-1)\n",
+ "elif best_model_name == 'LightGBM':\n",
+ " final_model = lgb.LGBMRegressor(n_estimators=150, learning_rate=0.05, max_depth=7, num_leaves=31, random_state=RANDOM_STATE, n_jobs=-1, verbose=-1)\n",
+ "else:\n",
+ " final_model = GradientBoostingRegressor(n_estimators=150, learning_rate=0.05, max_depth=7, random_state=RANDOM_STATE)\n",
+ "\n",
+ "# Train on combined train+val\n",
+ "print(f\"\\n🔄 Training {best_model_name} on {len(X_train_val)} samples...\")\n",
+ "final_model.fit(X_train_val, y_train_val)\n",
+ "\n",
+ "# Predict on test set\n",
+ "print(f\"🔮 Predicting on {len(X_test_final)} test samples...\")\n",
+ "y_test_pred = final_model.predict(X_test_final)\n",
+ "\n",
+ "# Calculate metrics\n",
+ "test_mae = mean_absolute_error(y_test, y_test_pred)\n",
+ "test_mse = mean_squared_error(y_test, y_test_pred)\n",
+ "test_rmse = np.sqrt(test_mse)\n",
+ "test_r2 = r2_score(y_test, y_test_pred)\n",
+ "\n",
+ "print(\"\\n\" + \"=\"*80)\n",
+ "print(\"📊 FINAL TEST SET RESULTS\")\n",
+ "print(\"=\"*80)\n",
+ "print(f\"🎯 Model: {best_model_name} | Features: {best_num_features}\")\n",
+ "print(f\"\\n📈 Test Performance: MAE={test_mae:.4f} | RMSE={test_rmse:.4f} | R²={test_r2:.4f}\")\n",
+ "print(f\"📊 Baseline (All): MAE={baseline_mae:.4f} | R²={baseline_r2:.4f}\")\n",
+ "print(f\"📈 Improvement: MAE giảm {baseline_mae - test_mae:.4f} ({(baseline_mae - test_mae)/baseline_mae*100:.1f}%) | R² tăng {test_r2 - baseline_r2:.4f} ({(test_r2 - baseline_r2)*100:.1f}%)\")\n",
+ "\n",
+ "# Visualizations\n",
+ "print(f\"\\n📊 Creating visualizations...\")\n",
+ "\n",
+ "fig, axes = plt.subplots(2, 2, figsize=(15, 12))\n",
+ "\n",
+ "# 1. Predicted vs Actual\n",
+ "axes[0, 0].scatter(y_test, y_test_pred, alpha=0.6, edgecolors='k', s=50)\n",
+ "axes[0, 0].plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'r--', lw=2)\n",
+ "axes[0, 0].set_xlabel('Actual Values', fontsize=11)\n",
+ "axes[0, 0].set_ylabel('Predicted Values', fontsize=11)\n",
+ "axes[0, 0].set_title(f'{best_model_name} - Test Set\\nPredicted vs Actual', fontsize=12, fontweight='bold')\n",
+ "axes[0, 0].grid(True, alpha=0.3)\n",
+ "axes[0, 0].text(0.05, 0.95, f'R² = {test_r2:.4f}\\nMAE = {test_mae:.4f}',\n",
+ " transform=axes[0, 0].transAxes, fontsize=10, verticalalignment='top',\n",
+ " bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.5))\n",
+ "\n",
+ "# 2. Residuals plot\n",
+ "residuals = y_test - y_test_pred\n",
+ "axes[0, 1].scatter(y_test_pred, residuals, alpha=0.6, edgecolors='k', s=50)\n",
+ "axes[0, 1].axhline(y=0, color='r', linestyle='--', lw=2)\n",
+ "axes[0, 1].set_xlabel('Predicted Values', fontsize=11)\n",
+ "axes[0, 1].set_ylabel('Residuals', fontsize=11)\n",
+ "axes[0, 1].set_title('Residual Plot', fontsize=12, fontweight='bold')\n",
+ "axes[0, 1].grid(True, alpha=0.3)\n",
+ "\n",
+ "# 3. Residuals distribution\n",
+ "axes[1, 0].hist(residuals, bins=30, edgecolor='black', alpha=0.7, color='skyblue')\n",
+ "axes[1, 0].axvline(x=0, color='r', linestyle='--', lw=2)\n",
+ "axes[1, 0].set_xlabel('Residuals', fontsize=11)\n",
+ "axes[1, 0].set_ylabel('Frequency', fontsize=11)\n",
+ "axes[1, 0].set_title('Residual Distribution', fontsize=12, fontweight='bold')\n",
+ "axes[1, 0].grid(True, alpha=0.3)\n",
+ "\n",
+ "# 4. Feature importance (if available)\n",
+ "if hasattr(final_model, 'feature_importances_'):\n",
+ " feature_importance = pd.DataFrame({\n",
+ " 'feature': selected_features,\n",
+ " 'importance': final_model.feature_importances_\n",
+ " }).sort_values('importance', ascending=False).head(15)\n",
+ " \n",
+ " axes[1, 1].barh(range(len(feature_importance)), feature_importance['importance'], alpha=0.7)\n",
+ " axes[1, 1].set_yticks(range(len(feature_importance)))\n",
+ " axes[1, 1].set_yticklabels(feature_importance['feature'], fontsize=9)\n",
+ " axes[1, 1].set_xlabel('Importance', fontsize=11)\n",
+ " axes[1, 1].set_title('Top 15 Feature Importance', fontsize=12, fontweight='bold')\n",
+ " axes[1, 1].invert_yaxis()\n",
+ " axes[1, 1].grid(True, alpha=0.3, axis='x')\n",
+ "else:\n",
+ " axes[1, 1].text(0.5, 0.5, f'Test MAE: {test_mae:.4f}\\nTest R²: {test_r2:.4f}\\n{best_num_features} features used',\n",
+ " transform=axes[1, 1].transAxes, fontsize=14, ha='center', va='center',\n",
+ " bbox=dict(boxstyle='round', facecolor='lightblue', alpha=0.3))\n",
+ " axes[1, 1].axis('off')\n",
+ "\n",
+ "plt.tight_layout()\n",
+ "plt.savefig('plots/final_model_test_results.png', dpi=300, bbox_inches='tight')\n",
+ "plt.show()\n",
+ "\n",
+ "print(\"✅ Visualization saved!\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "61aaae99",
+ "metadata": {},
+ "source": [
+ "# 🔟 Save Model & Artifacts\n",
+ "\n",
+ "**Mục đích:** Lưu model, scaler, selected features list, và training report để sử dụng sau này."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "bc3da137",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "================================================================================\n",
+ "💾 SAVING MODEL & ARTIFACTS\n",
+ "================================================================================\n",
+ "\n",
+ "✅ Saved model: models/final_model_random_forest_top15.pkl\n",
+ "✅ Saved scaler: models/scaler_final.pkl\n",
+ "✅ Saved features list: models/selected_features_top15.txt\n",
+ "✅ Saved columns to scale: models/columns_to_scale.txt\n",
+ "✅ Saved training report: models/training_report_final.json\n",
+ "\n",
+ "================================================================================\n",
+ "📋 TRAINING SUMMARY\n",
+ "================================================================================\n",
+ "\n",
+ "🎯 Model Configuration:\n",
+ " Model Type: Random Forest\n",
+ " Features Used: 15/57\n",
+ " Feature Reduction: 73.7%\n",
+ "\n",
+ "📊 Dataset:\n",
+ " Training Samples: 356 (Train+Val combined)\n",
+ " Test Samples: 89\n",
+ "\n",
+ "📈 Performance:\n",
+ " Test MAE: 3.0054\n",
+ " Test RMSE: 5.0646\n",
+ " Test R²: 0.3336\n",
+ "\n",
+ "🎯 Improvement:\n",
+ " Baseline Val MAE: 4.5372\n",
+ " Final Test MAE: 3.0054\n",
+ " Improvement: 1.5318 (33.76%)\n",
+ "\n",
+ "💾 Saved Files:\n",
+ " • models/final_model_random_forest_top15.pkl\n",
+ " • models/scaler_final.pkl\n",
+ " • models/selected_features_top15.txt\n",
+ " • models/columns_to_scale.txt\n",
+ " • models/training_report_final.json\n",
+ " • plots/final_model_test_results.png\n",
+ " • models/feature_selection_results.csv\n",
+ "\n",
+ "================================================================================\n",
+ "✅ PIPELINE COMPLETED SUCCESSFULLY!\n",
+ "================================================================================\n",
+ "\n",
+ "💡 Next Steps:\n",
+ " 1. Review test set predictions and error analysis\n",
+ " 2. Try hyperparameter tuning for further improvement\n",
+ " 3. Deploy model to production\n",
+ " 4. Monitor model performance over time\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"=\"*80)\n",
+ "print(\"💾 SAVING MODEL & ARTIFACTS\")\n",
+ "print(\"=\"*80)\n",
+ "\n",
+ "# 1. Save the trained model\n",
+ "model_filename = f'models/final_model_{best_model_name.lower().replace(\" \", \"_\")}_top{best_num_features}.pkl'\n",
+ "with open(model_filename, 'wb') as f:\n",
+ " pickle.dump(final_model, f)\n",
+ "print(f\"\\n✅ Saved model: {model_filename}\")\n",
+ "\n",
+ "# 2. Save the scaler\n",
+ "scaler_filename = 'models/scaler_final.pkl'\n",
+ "with open(scaler_filename, 'wb') as f:\n",
+ " pickle.dump(scaler_final, f)\n",
+ "print(f\"✅ Saved scaler: {scaler_filename}\")\n",
+ "\n",
+ "# 3. Save selected features list\n",
+ "features_filename = f'models/selected_features_top{best_num_features}.txt'\n",
+ "with open(features_filename, 'w', encoding='utf-8') as f:\n",
+ " f.write('\\n'.join(selected_features))\n",
+ "print(f\"✅ Saved features list: {features_filename}\")\n",
+ "\n",
+ "# 4. Save columns to scale list\n",
+ "cols_to_scale_filename = 'models/columns_to_scale.txt'\n",
+ "with open(cols_to_scale_filename, 'w', encoding='utf-8') as f:\n",
+ " f.write('\\n'.join(cols_to_scale_final))\n",
+ "print(f\"✅ Saved columns to scale: {cols_to_scale_filename}\")\n",
+ "\n",
+ "# 5. Save training report\n",
+ "report = {\n",
+ " 'timestamp': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),\n",
+ " 'model_name': best_model_name,\n",
+ " 'num_features': best_num_features,\n",
+ " 'total_features_available': X_train_final_scaled.shape[1],\n",
+ " 'training_samples': len(X_train_val),\n",
+ " 'test_samples': len(y_test),\n",
+ " 'test_mae': float(test_mae),\n",
+ " 'test_mse': float(test_mse),\n",
+ " 'test_rmse': float(test_rmse),\n",
+ " 'test_r2': float(test_r2),\n",
+ " 'baseline_val_mae': float(baseline_mae),\n",
+ " 'improvement_vs_baseline': float(baseline_mae - test_mae),\n",
+ " 'improvement_pct': float((baseline_mae - test_mae) / baseline_mae * 100) if baseline_mae > 0 else 0,\n",
+ " 'k_fold_cv': 'Completed (5-fold)',\n",
+ " 'feature_selection_methods': ['Random Forest', 'Mutual Information', 'Correlation'],\n",
+ " 'selected_features': selected_features,\n",
+ " 'cols_to_scale': cols_to_scale_final\n",
+ "}\n",
+ "\n",
+ "report_filename = 'models/training_report_final.json'\n",
+ "with open(report_filename, 'w', encoding='utf-8') as f:\n",
+ " json.dump(report, f, indent=4, ensure_ascii=False)\n",
+ "print(f\"✅ Saved training report: {report_filename}\")\n",
+ "\n",
+ "# Print summary\n",
+ "print(\"\\n\" + \"=\"*80)\n",
+ "print(\"📋 TRAINING SUMMARY\")\n",
+ "print(\"=\"*80)\n",
+ "print(f\"\\n🎯 Model Configuration:\")\n",
+ "print(f\" Model Type: {best_model_name}\")\n",
+ "print(f\" Features Used: {best_num_features}/{X_train_final_scaled.shape[1]}\")\n",
+ "\n",
+ "print(f\"\\n📊 Dataset:\")\n",
+ "print(f\" Training Samples: {len(X_train_val)} (Train+Val combined)\")\n",
+ "print(f\" Test Samples: {len(y_test)}\")\n",
+ "\n",
+ "print(f\"\\n📈 Performance:\")\n",
+ "print(f\" Test MAE: {test_mae:.4f}\")\n",
+ "print(f\" Test RMSE: {test_rmse:.4f}\")\n",
+ "print(f\" Test R²: {test_r2:.4f}\")\n",
+ "\n",
+ "print(f\"\\n🎯 Improvement:\")\n",
+ "print(f\" Baseline Val MAE: {baseline_mae:.4f}\")\n",
+ "print(f\" Final Test MAE: {test_mae:.4f}\")\n",
+ "if baseline_mae > 0:\n",
+ " print(f\" Improvement: {baseline_mae - test_mae:.4f} ({(baseline_mae - test_mae)/baseline_mae*100:.2f}%)\")\n",
+ "\n",
+ "print(f\"\\n💾 Saved Files:\")\n",
+ "print(f\" • {model_filename}\")\n",
+ "print(f\" • {scaler_filename}\")\n",
+ "print(f\" • {features_filename}\")\n",
+ "print(f\" • {cols_to_scale_filename}\")\n",
+ "print(f\" • {report_filename}\")\n",
+ "print(f\" • plots/final_model_test_results.png\")\n",
+ "print(f\" • models/feature_selection_results.csv\")\n",
+ "print(f\" • models/kfold_cv_results.csv\")\n",
+ "\n",
+ "print(\"\\n\" + \"=\"*80)\n",
+ "print(\"✅ PIPELINE COMPLETED SUCCESSFULLY!\")\n",
+ "print(\"=\"*80)\n",
+ "print(\"\\n💡 Next Steps:\")\n",
+ "print(\" 1. Review test set predictions and error analysis\")\n",
+ "print(\" 2. Try hyperparameter tuning with GridSearchCV\")\n",
+ "print(\" 3. Consider ensemble methods (Voting/Stacking)\")\n",
+ "print(\" 4. Deploy model to production\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8af7c09d",
+ "metadata": {},
+ "source": [
+ "# 🎉 Pipeline Hoàn Thành!\n",
+ "\n",
+ "---\n",
+ "\n",
+ "## ✅ Đã Hoàn Thành:\n",
+ "\n",
+ "1. ✅ **Data Loading & Cleaning** - Load và làm sạch dữ liệu\n",
+ "2. ✅ **Feature Engineering** - Tạo features mới, encode categorical\n",
+ "3. ✅ **Train/Val/Test Split** - Chia dữ liệu 60/20/20\n",
+ "4. ✅ **K-Fold Cross-Validation** - Test độ ổn định với 5-fold CV\n",
+ "5. ✅ **Feature Selection** - Tìm best features với 3 phương pháp\n",
+ "6. ✅ **Final Training** - Train model với best configuration\n",
+ "7. ✅ **Test Evaluation** - Đánh giá trên test set\n",
+ "8. ✅ **Save Artifacts** - Lưu model, scaler, features, report\n",
+ "\n",
+ "---\n",
+ "\n",
+ "## 📊 Kết Quả Cuối Cùng:\n",
+ "\n",
+ "- **Model:** Best model được chọn qua feature selection\n",
+ "- **Features:** Best number of features được tối ưu hóa\n",
+ "- **Performance:** Test MAE, RMSE, R² được đo trên test set\n",
+ "- **Improvement:** So sánh với baseline model\n",
+ "\n",
+ "---\n",
+ "\n",
+ "## 💾 Files Đã Tạo:\n",
+ "\n",
+ "- `models/final_model_*.pkl` - Trained model\n",
+ "- `models/scaler_final.pkl` - Feature scaler\n",
+ "- `models/selected_features_top*.txt` - Danh sách features được chọn\n",
+ "- `models/columns_to_scale.txt` - Danh sách columns cần scale\n",
+ "- `models/training_report_final.json` - Báo cáo chi tiết\n",
+ "- `models/feature_selection_results.csv` - Kết quả feature selection\n",
+ "- `plots/final_model_test_results.png` - Visualizations\n",
+ "\n",
+ "---\n",
+ "\n",
+ "## 🚀 Cách Sử Dụng Model:\n",
+ "\n",
+ "```python\n",
+ "import pickle\n",
+ "import pandas as pd\n",
+ "\n",
+ "# Load model và artifacts\n",
+ "with open('models/final_model_*.pkl', 'rb') as f:\n",
+ " model = pickle.load(f)\n",
+ "\n",
+ "with open('models/scaler_final.pkl', 'rb') as f:\n",
+ " scaler = pickle.load(f)\n",
+ "\n",
+ "# Load selected features\n",
+ "with open('models/selected_features_top*.txt', 'r') as f:\n",
+ " selected_features = [line.strip() for line in f]\n",
+ "\n",
+ "# Load columns to scale\n",
+ "with open('models/columns_to_scale.txt', 'r') as f:\n",
+ " cols_to_scale = [line.strip() for line in f]\n",
+ "\n",
+ "# Prepare new data\n",
+ "new_data = pd.DataFrame(...) # Your new data\n",
+ "new_data_scaled = new_data.copy()\n",
+ "new_data_scaled[cols_to_scale] = scaler.transform(new_data[cols_to_scale])\n",
+ "new_data_selected = new_data_scaled[selected_features]\n",
+ "\n",
+ "# Predict\n",
+ "predictions = model.predict(new_data_selected)\n",
+ "```\n",
+ "\n",
+ "---\n",
+ "\n",
+ "## 💡 Recommendations:\n",
+ "\n",
+ "1. **Hyperparameter Tuning:** Sử dụng GridSearchCV hoặc RandomizedSearchCV\n",
+ "2. **Ensemble Methods:** Thử kết hợp nhiều models (Voting, Stacking)\n",
+ "3. **Error Analysis:** Phân tích các predictions sai nhiều nhất\n",
+ "4. **Feature Engineering:** Thêm features mới từ domain knowledge\n",
+ "5. **Data Collection:** Thu thập thêm data để cải thiện model\n",
+ "\n",
+ "---\n",
+ "\n",
+ "**Version:** 2.0 - Complete Pipeline \n",
+ "**Created:** January 8, 2026 \n",
+ "**Status:** ✅ COMPLETED"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "base",
+ "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.12.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/data/splits/X_test.csv b/data/splits/X_test.csv
new file mode 100644
index 0000000..c371b27
--- /dev/null
+++ b/data/splits/X_test.csv
@@ -0,0 +1,90 @@
+so_ca_cua_toa,num_tasks,num_cleaning_tasks,num_trash_collection_tasks,num_monitoring_tasks,num_room_cleaning_tasks,num_deep_cleaning_tasks,num_maintenance_tasks,num_support_tasks,num_other_tasks,num_wc_tasks,num_hallway_tasks,num_lobby_tasks,num_patient_room_tasks,num_clinic_room_tasks,num_surgery_room_tasks,num_outdoor_tasks,num_elevator_tasks,num_office_tasks,num_technical_room_tasks,cleaning_ratio,trash_collection_ratio,monitoring_ratio,room_cleaning_ratio,area_diversity,task_complexity_score,loai_hinh,muc_do_luu_luong,so_tang,so_cua_thang_may,dien_tich_ngoai_canh,dien_tich_sanh,dien_tich_hanh_lang,dien_tich_wc,dien_tich_phong,dien_tich_tham,doc_ham,vien_phan_quang,op_tuong,op_chan_tuong,ranh_thoat_nuoc,dien_tich_kinh,hour_start,hour_end,work_hours_numeric,is_morning_shift,is_afternoon_shift,is_evening_shift,is_night_shift,tasks_per_hour,tasks_per_floor,wc_per_floor,cleaning_workload,total_area,area_per_floor,has_special_areas,loai_ca_24/24,loai_ca_Ca chiều,loai_ca_Ca gãy,loai_ca_Ca sáng,loai_ca_Ca đêm,loai_ca_Hành chính,loai_ca_Part time
+1,31.0,20.0,7.0,7.0,0.0,5.0,0.0,2.0,2.0,6.0,0.0,0.0,0.0,0.0,0.0,1.0,7.0,8.0,0.0,0.6452,0.2258,0.2258,0.0,4.0,3.2,0,0,6,6,0.0,60.0,0.0,39.0,240.0,420.0,0,0,420.0,460.0,0,265.0,6,16,8.0,1,0,0,0,3.8271604938271606,4.428571428571429,0.8571428571428571,80.0,1024.0,146.28571428571428,0,False,False,False,False,False,True,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,14,18,8.0,0,1,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,True
+1,44.0,23.0,2.0,9.0,0.0,6.0,0.0,2.0,12.0,12.0,14.0,6.0,0.0,0.0,0.0,0.0,5.0,3.0,0.0,0.5227,0.0455,0.2045,0.0,5.0,3.9,0,0,4,8,0.0,350.0,380.0,180.0,100.0,0.0,0,0,0.0,0.0,0,1400.0,6,16,8.0,1,0,0,0,5.432098765432099,8.8,2.4,115.0,2410.0,482.0,0,False,False,False,False,False,True,False
+1,32.0,15.0,3.0,6.0,0.0,2.0,0.0,2.0,7.0,7.0,5.0,1.0,0.0,0.0,0.0,0.0,5.0,9.0,0.0,0.4688,0.0938,0.1875,0.0,5.0,4.25,0,0,3,4,0.0,0.0,500.0,76.0,1525.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,3.9506172839506175,8.0,1.75,75.0,2101.0,525.25,0,False,False,False,False,False,True,False
+3,181.0,111.0,41.0,61.0,0.0,6.0,2.0,22.0,35.0,40.0,5.0,0.0,0.0,1.0,0.0,3.0,1.0,7.0,0.0,0.6133,0.2265,0.337,0.0,6.0,8.2,0,0,1,0,10000.0,14110.0,0.0,568.0,41048.0,0.0,0,0,0.0,0.0,0,0.0,5,13,8.0,0,0,0,1,22.34567901234568,90.5,20.0,666.0,65726.0,32863.0,1,False,False,False,True,False,False,False
+2,27.0,13.0,1.0,5.0,0.0,2.0,5.0,5.0,5.0,9.0,4.0,13.0,0.0,0.0,0.0,2.0,5.0,1.0,0.0,0.4815,0.037,0.1852,0.0,6.0,4.91,0,0,18,662,0.0,355.0,7960.0,140.0,0.0,11.0,6,6,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,3.3333333333333335,1.4210526315789473,0.47368421052631576,78.0,8466.0,445.57894736842104,0,False,True,False,False,False,False,False
+3,45.0,15.0,6.0,10.0,0.0,8.0,0.0,4.0,7.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,27.0,0.0,0.3333,0.1333,0.2222,0.0,1.0,4.36,0,0,3,0,0.0,120.0,0.0,0.0,100.0,0.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,5.555555555555555,11.25,0.0,15.0,220.0,55.0,0,False,False,False,True,False,False,False
+3,180.0,11.0,44.0,6.0,0.0,8.0,0.0,0.0,115.0,18.0,8.0,23.0,0.0,0.0,0.0,37.0,23.0,0.0,0.0,0.0611,0.2444,0.0333,0.0,5.0,6.65,0,0,37,132,1040.0,234.0,10862.0,2.5,334.0,15.0,414,0,0.0,0.0,2000,0.0,6,14,8.0,1,0,0,0,22.22222222222222,4.7368421052631575,0.47368421052631576,55.0,12487.5,328.61842105263156,0,False,False,False,True,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,15,22,8.0,0,1,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,True,False,False,False,False,False
+1,38.0,33.0,17.0,4.0,0.0,5.0,0.0,1.0,1.0,13.0,2.0,3.0,0.0,0.0,0.0,6.0,5.0,10.0,0.0,0.8684,0.4474,0.1053,0.0,6.0,6.64,0,0,1,0,0.0,0.0,0.0,0.0,50.0,0.0,0,0,0.0,0.0,0,10.0,6,8,8.0,1,0,0,0,4.691358024691358,19.0,6.5,198.0,60.0,30.0,0,False,False,False,False,False,False,True
+5,775.0,445.0,140.0,156.0,0.0,116.0,64.0,42.0,184.0,236.0,25.0,0.0,0.0,0.0,0.0,37.0,17.0,11.0,20.0,0.5742,0.1806,0.2013,0.0,6.0,9.2,0,0,49,0,10000.0,0.0,150.0,0.0,1000.0,41.0,3,0,0.0,0.0,15,80.0,7,16,8.0,1,0,0,0,95.67901234567901,15.5,4.72,2670.0,11271.0,225.42,0,False,False,False,False,False,True,False
+3,170.0,69.0,26.0,14.0,3.0,6.0,2.0,4.0,66.0,26.0,38.0,25.0,0.0,0.0,0.0,9.0,32.0,0.0,0.0,0.4059,0.1529,0.0824,0.0176,5.0,8.0,0,0,29,113,2750.0,9223.0,2384.0,194.0,177.0,6.0,6,850,684.0,1151.0,11,701.0,6,18,8.0,1,0,0,0,20.987654320987655,5.666666666666667,0.8666666666666667,345.0,15435.0,514.5,0,False,False,False,False,False,True,False
+2,47.0,21.0,2.0,13.0,0.0,8.0,0.0,2.0,5.0,17.0,12.0,0.0,0.0,0.0,0.0,6.0,5.0,0.0,0.0,0.4468,0.0426,0.2766,0.0,4.0,5.01,0,0,5,0,330.0,0.0,790.0,78.0,560.0,0.0,0,0,0.0,0.0,0,0.0,10,19,8.0,1,0,0,0,5.802469135802469,7.833333333333333,2.8333333333333335,84.0,1758.0,293.0,0,False,True,False,False,False,False,False
+1,4.0,3.0,4.0,1.0,0.0,2.0,4.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.75,1.0,0.25,0.0,4.0,1.15,0,0,1,0,0.0,0.0,0.0,30.0,150.0,0.0,0,0,0.0,0.0,0,2.0,7,9,8.0,1,0,0,0,0.4938271604938272,2.0,0.5,12.0,182.0,91.0,1,False,False,False,False,False,False,True
+1,12.0,9.0,1.0,0.0,0.0,0.0,2.0,1.0,3.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.75,0.0833,0.0,0.0,2.0,1.37,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,1.4814814814814816,6.0,0.0,18.0,0.0,0.0,0,False,False,False,False,False,True,False
+8,296.0,130.0,14.0,18.0,0.0,8.0,29.0,3.0,156.0,119.0,1.0,5.0,0.0,0.0,0.0,15.0,4.0,1.0,0.0,0.4392,0.0473,0.0608,0.0,6.0,9.2,0,0,20,89,500.0,150.0,480.0,540.0,15.0,690.0,0,0,900.0,450.0,0,720.0,6,14,8.0,1,0,0,0,36.54320987654321,14.095238095238095,5.666666666666667,780.0,3095.0,147.38095238095238,0,False,False,False,True,False,False,False
+3,182.0,124.0,47.0,49.0,1.0,10.0,27.0,16.0,30.0,54.0,3.0,0.0,0.0,0.0,0.0,6.0,1.0,10.0,2.0,0.6813,0.2582,0.2692,0.0055,6.0,7.2,0,0,1,0,12500.0,50.0,17130.0,330.0,3890.0,500.0,0,200,55.0,410.0,501,410.0,7,17,8.0,1,0,0,0,22.469135802469136,91.0,27.0,744.0,34810.0,17405.0,0,False,False,False,False,False,True,False
+1,18.0,9.0,2.0,2.0,2.0,1.0,0.0,1.0,6.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.5,0.1111,0.1111,0.1111,1.0,1.98,0,0,1,0,0.0,0.0,0.0,0.0,500.0,500.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,2.2222222222222223,9.0,0.0,9.0,1000.0,500.0,0,False,False,False,False,False,True,False
+8,296.0,130.0,14.0,18.0,0.0,8.0,29.0,3.0,156.0,119.0,1.0,5.0,0.0,0.0,0.0,15.0,4.0,1.0,0.0,0.4392,0.0473,0.0608,0.0,6.0,9.2,0,0,20,89,500.0,150.0,480.0,540.0,15.0,690.0,0,0,900.0,450.0,0,720.0,13,21,8.0,0,1,0,0,36.54320987654321,14.095238095238095,5.666666666666667,780.0,3095.0,147.38095238095238,0,False,True,False,False,False,False,False
+3,124.0,86.0,30.0,52.0,0.0,8.0,6.0,14.0,19.0,43.0,8.0,0.0,0.0,1.0,0.0,4.0,0.0,6.0,0.0,0.6935,0.2419,0.4194,0.0,5.0,7.0,0,0,1,0,4000.0,25511.0,0.0,350.0,0.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,15.308641975308642,62.0,21.5,430.0,29861.0,14930.5,1,False,True,False,False,False,False,False
+2,273.0,163.0,17.0,1.0,0.0,9.0,0.0,65.0,60.0,16.0,87.0,17.0,0.0,0.0,0.0,1.0,83.0,1.0,1.0,0.5971,0.0623,0.0037,0.0,7.0,9.4,0,0,37,216,1840.0,1890.0,5646.0,60.0,430.0,22.0,510,0,1344.0,0.0,0,0.0,6,15,8.0,1,0,0,0,33.7037037037037,7.184210526315789,0.42105263157894735,1141.0,9888.0,260.2105263157895,0,False,False,False,True,False,False,False
+3,135.0,81.0,35.0,38.0,9.0,10.0,8.0,20.0,21.0,25.0,16.0,0.0,12.0,4.0,8.0,5.0,10.0,7.0,8.0,0.6,0.2593,0.2815,0.0667,9.0,8.8,0,0,4,7,150.0,0.0,1090.0,156.0,2780.0,38.0,0,0,3301.0,10.0,0,267.0,11,22,8.0,1,0,0,0,16.666666666666668,27.0,5.0,729.0,4481.0,896.2,1,False,False,True,False,False,False,False
+3,173.0,117.0,12.0,5.0,0.0,9.0,1.0,14.0,39.0,13.0,35.0,31.0,0.0,0.0,0.0,5.0,40.0,0.0,0.0,0.6763,0.0694,0.0289,0.0,5.0,9.0,0,0,30,104,7200.0,1600.0,1930.0,82.0,568.0,65.0,5,600,50.0,2114.0,23,394.0,7,16,8.0,1,0,0,0,21.358024691358025,5.580645161290323,0.41935483870967744,585.0,11839.0,381.9032258064516,0,False,False,False,False,False,True,False
+2,34.0,28.0,5.0,4.0,0.0,1.0,0.0,1.0,2.0,3.0,14.0,3.0,0.0,0.0,0.0,3.0,13.0,0.0,0.0,0.8235,0.1471,0.1176,0.0,5.0,3.5,0,0,11,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,17,8.0,1,0,0,0,4.197530864197531,2.8333333333333335,0.25,140.0,0.0,0.0,0,False,False,False,False,False,True,False
+1,2.0,1.0,1.0,0.0,0.0,1.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.5,0.5,0.0,0.0,1.0,0.39,0,0,2,0,0.0,0.0,200.0,0.0,860.0,0.0,0,0,0.0,300.0,0,205.0,7,9,8.0,1,0,0,0,0.2469135802469136,0.6666666666666666,0.0,1.0,1265.0,421.6666666666667,0,False,False,False,False,False,False,True
+1,7.0,5.0,2.0,1.0,0.0,1.0,0.0,1.0,1.0,3.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7143,0.2857,0.1429,0.0,3.0,1.08,0,0,1,0,0.0,0.0,0.0,8.0,100.0,0.0,0,0,15.0,100.0,0,50.0,6,8,8.0,1,0,0,0,0.8641975308641976,3.5,1.5,15.0,158.0,79.0,0,False,False,False,False,False,False,True
+3,181.0,111.0,41.0,61.0,0.0,6.0,2.0,22.0,35.0,40.0,5.0,0.0,0.0,1.0,0.0,3.0,1.0,7.0,0.0,0.6133,0.2265,0.337,0.0,6.0,8.2,0,0,1,0,10000.0,14110.0,0.0,568.0,41048.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,22.34567901234568,90.5,20.0,666.0,65726.0,32863.0,1,False,False,False,False,False,True,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,10,28,500.0,100.0,760.0,240.0,800.0,12.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,0.0,0.0,0.0,0.0,2412.0,219.27272727272728,0,False,False,False,False,False,True,False
+4,399.0,114.0,75.0,69.0,0.0,24.0,5.0,0.0,184.0,37.0,9.0,0.0,2.0,0.0,0.0,2.0,0.0,10.0,1.0,0.2857,0.188,0.1729,0.0,6.0,7.2,0,0,1,0,0.0,0.0,0.0,270.0,0.0,0.0,0,0,1060.0,0.0,0,91.0,13,21,8.0,0,1,0,0,49.25925925925926,199.5,18.5,684.0,361.0,180.5,1,False,True,False,False,False,False,False
+1,22.0,13.0,4.0,2.0,2.0,2.0,0.0,0.0,6.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.0,0.0,0.5909,0.1818,0.0909,0.0909,1.0,1.76,0,0,3,0,0.0,0.0,0.0,0.0,1140.0,1140.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,2.7160493827160495,5.5,0.0,13.0,2280.0,570.0,0,False,False,False,False,False,True,False
+5,133.0,88.0,25.0,33.0,0.0,10.0,0.0,13.0,23.0,14.0,51.0,15.0,0.0,0.0,0.0,4.0,58.0,0.0,0.0,0.6617,0.188,0.2481,0.0,5.0,9.0,0,0,32,124,400.0,230.0,5637.0,214.0,15.0,0.0,5,350,720.0,0.0,0,15.0,14,22,8.0,0,1,0,0,16.419753086419753,4.03030303030303,0.42424242424242425,440.0,6511.0,197.3030303030303,0,False,True,False,False,False,False,False
+7,199.0,114.0,30.0,46.0,0.0,33.0,0.0,17.0,32.0,69.0,43.0,26.0,0.0,0.0,0.0,17.0,51.0,14.0,0.0,0.5729,0.1508,0.2312,0.0,6.0,9.2,0,0,17,39,16717.42,3102.0,11845.88,2224.0,4105.0,1526.0,4,2,2436.0,86.8,125,1916.0,4,20,8.0,0,0,0,1,24.567901234567902,11.055555555555555,3.8333333333333335,684.0,41436.299999999996,2302.0166666666664,0,False,False,False,False,False,True,False
+3,182.0,124.0,47.0,49.0,1.0,10.0,27.0,16.0,30.0,54.0,3.0,0.0,0.0,0.0,0.0,6.0,1.0,10.0,2.0,0.6813,0.2582,0.2692,0.0055,6.0,7.2,0,0,1,0,12500.0,50.0,17130.0,330.0,3890.0,500.0,0,200,55.0,410.0,501,410.0,5,13,8.0,0,0,0,1,22.469135802469136,91.0,27.0,744.0,34810.0,17405.0,0,False,False,False,True,False,False,False
+1,38.0,33.0,17.0,4.0,0.0,5.0,0.0,1.0,1.0,13.0,2.0,3.0,0.0,0.0,0.0,6.0,5.0,10.0,0.0,0.8684,0.4474,0.1053,0.0,6.0,6.64,0,0,1,0,0.0,0.0,0.0,0.0,60.0,0.0,0,0,0.0,0.0,0,1.0,13,15,8.0,0,1,0,0,4.691358024691358,19.0,6.5,198.0,61.0,30.5,0,False,False,False,False,False,False,True
+4,83.0,53.0,8.0,15.0,0.0,1.0,0.0,4.0,14.0,20.0,15.0,4.0,0.0,0.0,0.0,12.0,15.0,1.0,0.0,0.6386,0.0964,0.1807,0.0,6.0,6.01,0,0,5,0,2500.0,280.0,1890.0,224.0,0.0,0.0,0,0,530.0,568.0,0,0.0,5,15,8.0,0,0,0,1,10.246913580246915,13.833333333333334,3.3333333333333335,318.0,4894.0,815.6666666666666,0,False,False,False,False,False,True,False
+7,471.0,322.0,62.0,68.0,0.0,36.0,0.0,25.0,56.0,124.0,148.0,27.0,1.0,0.0,0.0,37.0,86.0,10.0,0.0,0.6837,0.1316,0.1444,0.0,7.0,7.4,0,0,12,57,18000.0,1675.0,11994.0,1760.0,20461.0,150.0,0,0,3470.0,3666.0,535,5116.0,3,11,8.0,0,0,0,1,58.14814814814815,36.23076923076923,9.538461538461538,2254.0,59156.0,4550.461538461538,1,False,False,False,True,False,False,False
+3,144.0,67.0,17.0,35.0,0.0,24.0,2.0,6.0,20.0,27.0,7.0,0.0,0.0,0.0,0.0,6.0,7.0,4.0,0.0,0.4653,0.1181,0.2431,0.0,5.0,8.67,0,0,5,4,3201.0,0.0,143.0,121.0,6271.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,17.77777777777778,24.0,4.5,335.0,9736.0,1622.6666666666667,0,False,False,False,False,False,True,False
+3,124.0,86.0,30.0,52.0,0.0,8.0,6.0,14.0,19.0,43.0,8.0,0.0,0.0,1.0,0.0,4.0,0.0,6.0,0.0,0.6935,0.2419,0.4194,0.0,5.0,7.0,0,0,1,0,4000.0,25511.0,0.0,350.0,0.0,0.0,0,0,0.0,0.0,0,0.0,5,13,8.0,0,0,0,1,15.308641975308642,62.0,21.5,430.0,29861.0,14930.5,1,False,False,False,True,False,False,False
+3,546.0,381.0,46.0,43.0,0.0,27.0,14.0,62.0,85.0,44.0,208.0,51.0,0.0,0.0,0.0,25.0,199.0,5.0,0.0,0.6978,0.0842,0.0788,0.0,6.0,9.2,0,0,37,324,3000.0,5400.0,21480.0,24.0,50.0,15.0,0,0,0.0,0.0,8,352.0,7,11,8.0,1,0,0,0,67.4074074074074,14.368421052631579,1.1578947368421053,2286.0,30321.0,797.921052631579,0,False,False,False,False,False,False,True
+1,22.0,12.0,8.0,2.0,0.0,2.0,0.0,1.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.0,0.0,0.5455,0.3636,0.0909,0.0,1.0,2.41,0,0,13,16,0.0,400.0,860.0,196.0,0.0,0.0,1,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,2.7160493827160495,1.5714285714285714,0.0,12.0,1456.0,104.0,0,False,False,False,False,False,True,False
+2,145.0,98.0,25.0,42.0,4.0,28.0,5.0,10.0,10.0,48.0,33.0,1.0,22.0,3.0,6.0,11.0,21.0,2.0,4.0,0.6759,0.1724,0.2897,0.0276,10.0,9.0,0,0,12,33,0.0,100.0,2540.0,790.0,2215.0,0.0,2,0,220.0,308.0,0,1005.0,6,16,8.0,1,0,0,0,17.901234567901234,11.153846153846153,3.6923076923076925,980.0,6650.0,511.53846153846155,1,False,False,False,False,False,True,False
+7,199.0,114.0,30.0,46.0,0.0,33.0,0.0,17.0,32.0,69.0,43.0,26.0,0.0,0.0,0.0,17.0,51.0,14.0,0.0,0.5729,0.1508,0.2312,0.0,6.0,9.2,0,0,17,39,16717.42,3102.0,11845.88,2224.0,4105.0,1526.0,4,2,2436.0,86.8,125,1916.0,6,16,8.0,1,0,0,0,24.567901234567902,11.055555555555555,3.8333333333333335,684.0,41436.299999999996,2302.0166666666664,0,False,False,False,False,False,True,False
+5,320.0,182.0,38.0,111.0,0.0,42.0,29.0,12.0,77.0,97.0,32.0,57.0,0.0,0.0,0.0,25.0,58.0,1.0,5.0,0.5687,0.1187,0.3469,0.0,7.0,9.4,0,0,18,61,4610.0,1890.0,1490.0,382.0,62.0,59.0,400,0,0.0,100.0,275,770.0,13,21,8.0,0,1,0,0,39.50617283950618,16.842105263157894,5.105263157894737,1274.0,9263.0,487.5263157894737,0,False,True,False,False,False,False,False
+3,391.0,251.0,94.0,100.0,0.0,23.0,0.0,24.0,56.0,102.0,60.0,34.0,0.0,0.0,0.0,15.0,79.0,77.0,1.0,0.6419,0.2404,0.2558,0.0,7.0,9.4,0,0,20,0,6000.0,2900.0,1620.0,142.0,80.0,18.0,2,0,0.0,0.0,0,60.0,7,16,8.0,1,0,0,0,48.27160493827161,18.61904761904762,4.857142857142857,1757.0,10820.0,515.2380952380952,0,False,False,False,False,False,True,False
+2,41.0,22.0,3.0,13.0,0.0,4.0,0.0,0.0,6.0,13.0,11.0,6.0,0.0,0.0,0.0,2.0,14.0,0.0,0.0,0.5366,0.0732,0.3171,0.0,5.0,4.31,0,0,13,40,1200.0,50.0,900.0,232.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,15,8.0,1,0,0,0,5.061728395061729,2.9285714285714284,0.9285714285714286,110.0,2382.0,170.14285714285714,0,False,False,False,True,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,16,21,8.0,0,1,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,True
+1,36.0,21.0,7.0,8.0,0.0,7.0,2.0,4.0,7.0,5.0,7.0,0.0,0.0,0.0,0.0,0.0,2.0,8.0,0.0,0.5833,0.1944,0.2222,0.0,4.0,5.67,0,0,1,0,0.0,0.0,0.0,40.0,2120.0,6.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,4.444444444444445,18.0,2.5,84.0,2166.0,1083.0,0,False,False,False,False,False,True,False
+7,199.0,114.0,30.0,46.0,0.0,33.0,0.0,17.0,32.0,69.0,43.0,26.0,0.0,0.0,0.0,17.0,51.0,14.0,0.0,0.5729,0.1508,0.2312,0.0,6.0,9.2,0,0,17,39,16717.42,3102.0,11845.88,2224.0,4105.0,1526.0,4,2,2436.0,86.8,125,1916.0,6,16,8.0,1,0,0,0,24.567901234567902,11.055555555555555,3.8333333333333335,684.0,41436.299999999996,2302.0166666666664,0,False,False,False,False,False,True,False
+3,124.0,86.0,30.0,52.0,0.0,8.0,6.0,14.0,19.0,43.0,8.0,0.0,0.0,1.0,0.0,4.0,0.0,6.0,0.0,0.6935,0.2419,0.4194,0.0,5.0,7.0,0,0,1,0,4000.0,25511.0,0.0,350.0,0.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,15.308641975308642,62.0,21.5,430.0,29861.0,14930.5,1,False,False,False,False,False,True,False
+2,33.0,24.0,8.0,6.0,0.0,10.0,0.0,4.0,6.0,3.0,0.0,6.0,0.0,0.0,0.0,2.0,18.0,0.0,0.0,0.7273,0.2424,0.1818,0.0,4.0,4.9,0,0,23,76,500.0,120.0,2000.0,10.0,0.0,0.0,1,1,70.0,0.0,170,400.0,6,16,8.0,1,0,0,0,4.074074074074074,1.375,0.125,96.0,3030.0,126.25,0,False,False,False,False,False,True,False
+1,132.0,75.0,43.0,28.0,0.0,13.0,1.0,7.0,25.0,17.0,13.0,9.0,0.0,0.0,0.0,0.0,16.0,56.0,0.0,0.5682,0.3258,0.2121,0.0,5.0,6.92,0,0,3,0,0.0,0.0,0.0,0.0,2550.0,0.0,0,0,0.0,0.0,0,1160.0,6,16,8.0,1,0,0,0,16.296296296296298,33.0,4.25,375.0,3710.0,927.5,0,False,False,False,False,False,True,False
+1,32.0,22.0,4.0,5.0,0.0,0.0,5.0,2.0,6.0,9.0,11.0,3.0,0.0,0.0,0.0,3.0,8.0,1.0,0.0,0.6875,0.125,0.1562,0.0,6.0,4.43,0,0,6,4,250.0,0.0,575.0,58.0,140.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,3.9506172839506175,4.571428571428571,1.2857142857142858,132.0,1023.0,146.14285714285714,0,False,False,False,False,False,True,False
+4,345.0,229.0,29.0,46.0,0.0,43.0,0.0,40.0,52.0,56.0,72.0,1.0,0.0,0.0,0.0,15.0,46.0,4.0,0.0,0.6638,0.0841,0.1333,0.0,6.0,7.2,0,0,6,0,10000.0,0.0,3200.0,720.0,13000.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,42.592592592592595,49.285714285714285,8.0,1374.0,26920.0,3845.714285714286,0,False,False,False,False,False,True,False
+1,38.0,33.0,17.0,4.0,0.0,5.0,0.0,1.0,1.0,13.0,2.0,3.0,0.0,0.0,0.0,6.0,5.0,10.0,0.0,0.8684,0.4474,0.1053,0.0,6.0,6.64,0,0,1,0,0.0,0.0,0.0,0.0,50.0,0.0,0,0,0.0,0.0,0,10.0,6,8,8.0,1,0,0,0,4.691358024691358,19.0,6.5,198.0,60.0,30.0,0,False,False,False,False,False,False,True
+4,593.0,334.0,95.0,68.0,16.0,24.0,2.0,66.0,139.0,55.0,76.0,26.0,64.0,6.0,16.0,4.0,49.0,64.0,22.0,0.5632,0.1602,0.1147,0.027,10.0,10.0,0,0,15,24,0.0,430.0,3230.0,150.0,24030.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,73.20987654320987,37.0625,3.4375,3340.0,27840.0,1740.0,1,False,False,False,False,False,True,False
+2,605.0,428.0,40.0,6.0,0.0,10.0,0.0,56.0,106.0,66.0,38.0,106.0,0.0,0.0,0.0,30.0,178.0,7.0,0.0,0.7074,0.0661,0.0099,0.0,6.0,9.2,0,0,35,248,9950.0,8350.0,7890.0,150.0,700.0,8.0,6,0,0.0,0.0,0,900.0,13,21,8.0,0,1,0,0,74.69135802469137,16.805555555555557,1.8333333333333333,2568.0,27948.0,776.3333333333334,0,False,True,False,False,False,False,False
+3,218.0,156.0,65.0,46.0,0.0,19.0,0.0,27.0,20.0,53.0,85.0,8.0,16.0,3.0,0.0,8.0,47.0,6.0,0.0,0.7156,0.2982,0.211,0.0,8.0,9.6,0,0,25,54,1200.0,190.0,6550.0,722.0,3445.0,180.0,0,80,11182.0,0.0,1029,663.0,6,16,8.0,1,0,0,0,26.913580246913583,8.384615384615385,2.0384615384615383,1248.0,12950.0,498.0769230769231,1,False,False,False,False,False,True,False
+1,19.0,13.0,3.0,5.0,0.0,1.0,0.0,1.0,1.0,8.0,0.0,0.0,0.0,0.0,0.0,1.0,3.0,2.0,0.0,0.6842,0.1579,0.2632,0.0,4.0,2.25,0,0,4,0,100.0,30.0,70.0,24.0,40.0,230.0,0,0,50.0,220.0,0,90.0,6,16,8.0,1,0,0,0,2.345679012345679,3.8,1.6,52.0,584.0,116.8,0,False,False,False,False,False,True,False
+4,384.0,172.0,41.0,72.0,8.0,43.0,8.0,10.0,110.0,84.0,52.0,16.0,0.0,0.0,0.0,54.0,55.0,2.0,0.0,0.4479,0.1068,0.1875,0.0208,6.0,9.2,0,0,13,20,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,0,0,8.0,0,0,0,1,47.40740740740741,27.428571428571427,6.0,1032.0,20.0,1.4285714285714286,0,False,False,False,False,False,True,False
+1,7.0,7.0,1.0,2.0,0.0,1.0,1.0,0.0,0.0,4.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,1.0,0.0,1.0,0.1429,0.2857,0.0,4.0,1.38,0,0,4,0,0.0,0.0,0.0,15.0,290.0,0.0,0,0,0.0,0.0,0,20.0,6,10,8.0,1,0,0,0,0.8641975308641976,1.4,0.8,28.0,325.0,65.0,0,False,False,False,False,False,False,True
+2,25.0,16.0,5.0,7.0,0.0,0.0,0.0,3.0,2.0,3.0,2.0,3.0,0.0,0.0,0.0,5.0,5.0,0.0,0.0,0.64,0.2,0.28,0.0,5.0,4.49,0,0,4,0,0.0,200.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,3.0864197530864197,5.0,0.6,80.0,200.0,40.0,0,False,False,False,False,False,True,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,3,0,0.0,0.0,0.0,60.0,250.0,40.0,0,0,0.0,0.0,0,70.0,7,17,8.0,1,0,0,0,0.0,0.0,0.0,0.0,420.0,105.0,0,False,False,False,False,False,True,False
+1,20.0,15.0,1.0,3.0,0.0,2.0,0.0,1.0,4.0,10.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,6.0,0.0,0.75,0.05,0.15,0.0,3.0,2.07,0,0,4,0,0.0,0.0,0.0,20.0,450.0,0.0,0,0,0.0,0.0,0,150.0,6,16,8.0,1,0,0,0,2.469135802469136,4.0,2.0,45.0,620.0,124.0,0,False,False,False,False,False,True,False
+1,775.0,445.0,140.0,156.0,0.0,116.0,64.0,42.0,184.0,236.0,25.0,0.0,0.0,0.0,0.0,37.0,17.0,11.0,20.0,0.5742,0.1806,0.2013,0.0,6.0,9.2,0,0,2,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,0,0,8.0,0,0,0,1,95.67901234567901,258.3333333333333,78.66666666666667,2670.0,0.0,0.0,0,False,False,False,False,False,False,False
+12,227.0,136.0,69.0,10.0,0.0,9.0,0.0,10.0,50.0,54.0,34.0,68.0,1.0,0.0,0.0,23.0,33.0,1.0,2.0,0.5991,0.304,0.0441,0.0,8.0,9.6,0,0,36,336,9642.0,6225.2,8826.0,150.0,186.0,50.0,450,0,2168.0,0.0,142,807.5,17,21,8.0,0,1,0,0,28.024691358024693,6.135135135135135,1.4594594594594594,1088.0,25886.7,699.6405405405405,1,False,False,False,False,False,False,True
+2,51.0,28.0,6.0,22.0,0.0,0.0,0.0,7.0,6.0,11.0,10.0,24.0,0.0,0.0,0.0,2.0,12.0,0.0,0.0,0.549,0.1176,0.4314,0.0,5.0,4.61,0,0,30,152,2000.0,1400.0,8000.0,134.0,0.0,0.0,4,8,350.0,2300.0,600,2700.0,13,21,8.0,0,1,0,0,6.296296296296297,1.6451612903225807,0.3548387096774194,140.0,14234.0,459.16129032258067,0,False,True,False,False,False,False,False
+7,471.0,322.0,62.0,68.0,0.0,36.0,0.0,25.0,56.0,124.0,148.0,27.0,1.0,0.0,0.0,37.0,86.0,10.0,0.0,0.6837,0.1316,0.1444,0.0,7.0,7.4,0,0,12,57,18000.0,1675.0,11994.0,1760.0,20461.0,150.0,0,0,3470.0,3666.0,535,5116.0,6,14,8.0,1,0,0,0,58.14814814814815,36.23076923076923,9.538461538461538,2254.0,59156.0,4550.461538461538,1,False,False,False,False,False,True,False
+5,248.0,141.0,27.0,46.0,0.0,18.0,0.0,8.0,43.0,84.0,48.0,23.0,0.0,0.0,0.0,1.0,26.0,0.0,0.0,0.5685,0.1089,0.1855,0.0,5.0,9.0,0,0,6,0,0.0,200.0,900.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,6,15,8.0,1,0,0,0,30.617283950617285,35.42857142857143,12.0,705.0,1120.0,160.0,0,False,False,False,True,False,False,False
+4,345.0,229.0,29.0,46.0,0.0,43.0,0.0,40.0,52.0,56.0,72.0,1.0,0.0,0.0,0.0,15.0,46.0,4.0,0.0,0.6638,0.0841,0.1333,0.0,6.0,7.2,0,0,6,0,10000.0,0.0,3200.0,720.0,13000.0,0.0,0,0,0.0,0.0,0,0.0,5,15,8.0,0,0,0,1,42.592592592592595,49.285714285714285,8.0,1374.0,26920.0,3845.714285714286,0,False,False,False,False,False,True,False
+1,546.0,381.0,46.0,43.0,0.0,27.0,14.0,62.0,85.0,44.0,208.0,51.0,0.0,0.0,0.0,25.0,199.0,5.0,0.0,0.6978,0.0842,0.0788,0.0,6.0,9.2,0,0,2,42,0.0,10000.0,0.0,0.0,15.0,0.0,4,0,0.0,0.0,0,140.0,0,0,8.0,0,0,0,1,67.4074074074074,182.0,14.666666666666666,2286.0,10155.0,3385.0,0,False,False,False,False,False,False,False
+3,68.0,41.0,6.0,13.0,0.0,3.0,0.0,10.0,15.0,12.0,10.0,20.0,0.0,0.0,0.0,4.0,14.0,0.0,1.0,0.6029,0.0882,0.1912,0.0,6.0,5.75,0,0,15,0,1000.0,300.0,12500.0,780.0,0.0,10.0,10,1000,0.0,0.0,0,0.0,15,18,8.0,0,1,0,0,8.395061728395062,4.25,0.75,246.0,14590.0,911.875,0,False,False,False,False,False,False,True
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,14,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,True,False,False,False
+1,36.0,23.0,2.0,5.0,0.0,6.0,0.0,2.0,6.0,17.0,11.0,3.0,0.0,0.0,0.0,3.0,16.0,0.0,0.0,0.6389,0.0556,0.1389,0.0,5.0,3.69,0,0,11,20,500.0,0.0,370.0,324.0,500.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,4.444444444444445,3.0,1.4166666666666667,115.0,1694.0,141.16666666666666,0,False,False,False,False,False,True,False
+4,345.0,229.0,29.0,46.0,0.0,43.0,0.0,40.0,52.0,56.0,72.0,1.0,0.0,0.0,0.0,15.0,46.0,4.0,0.0,0.6638,0.0841,0.1333,0.0,6.0,7.2,0,0,6,0,10000.0,0.0,3200.0,720.0,13000.0,0.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,42.592592592592595,49.285714285714285,8.0,1374.0,26920.0,3845.714285714286,0,False,False,False,True,False,False,False
+3,244.0,182.0,52.0,49.0,0.0,59.0,0.0,17.0,35.0,69.0,41.0,17.0,0.0,0.0,0.0,17.0,37.0,26.0,8.0,0.7459,0.2131,0.2008,0.0,7.0,9.4,0,0,22,120,350.0,2650.0,300.0,90.0,500.0,4450.0,3,0,0.0,0.0,18,8.0,14,18,8.0,0,1,0,0,30.12345679012346,10.608695652173912,3.0,1274.0,8348.0,362.95652173913044,0,False,False,False,False,False,False,True
+4,513.0,383.0,95.0,62.0,7.0,30.0,40.0,44.0,64.0,78.0,87.0,26.0,71.0,16.0,6.0,0.0,58.0,39.0,25.0,0.7466,0.1852,0.1209,0.0136,9.0,9.8,0,0,23,0,1930.0,1635.0,2026.0,580.0,7548.0,0.0,2,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,63.333333333333336,21.375,3.25,3447.0,13719.0,571.625,1,False,False,False,False,False,True,False
+8,296.0,130.0,14.0,18.0,0.0,8.0,29.0,3.0,156.0,119.0,1.0,5.0,0.0,0.0,0.0,15.0,4.0,1.0,0.0,0.4392,0.0473,0.0608,0.0,6.0,9.2,0,0,20,89,500.0,150.0,480.0,540.0,15.0,690.0,0,0,900.0,450.0,0,720.0,11,19,8.0,1,0,0,0,36.54320987654321,14.095238095238095,5.666666666666667,780.0,3095.0,147.38095238095238,0,False,False,False,False,False,True,False
+5,300.0,108.0,51.0,30.0,0.0,26.0,9.0,0.0,109.0,30.0,12.0,9.0,0.0,0.0,0.0,14.0,17.0,2.0,0.0,0.36,0.17,0.1,0.0,6.0,7.7,0,0,2,2,900.0,1860.0,660.0,607.0,370.0,0.0,0,0,0.0,0.0,0,74.0,14,22,8.0,0,1,0,0,37.03703703703704,100.0,10.0,648.0,4471.0,1490.3333333333333,0,False,True,False,False,False,False,False
+2,340.0,193.0,48.0,95.0,0.0,10.0,0.0,14.0,43.0,181.0,45.0,26.0,0.0,0.0,0.0,5.0,25.0,2.0,1.0,0.5676,0.1412,0.2794,0.0,7.0,9.4,0,0,24,105,900.0,4000.0,1235.0,330.0,0.0,154.0,60,0,940.0,0.0,0,2190.0,13,21,8.0,0,1,0,0,41.97530864197531,13.6,7.24,1351.0,8809.0,352.36,0,False,True,False,False,False,False,False
+1,31.0,22.0,7.0,3.0,0.0,3.0,0.0,1.0,5.0,7.0,0.0,2.0,0.0,0.0,0.0,1.0,4.0,2.0,0.0,0.7097,0.2258,0.0968,0.0,5.0,3.05,0,0,4,4,0.0,20.0,0.0,15.0,430.0,224.0,10,0,30.0,100.0,0,220.0,6,18,8.0,1,0,0,0,3.8271604938271606,6.2,1.4,110.0,909.0,181.8,0,False,False,False,False,False,False,True
+1,30.0,13.0,1.0,9.0,0.0,5.0,0.0,1.0,2.0,10.0,2.0,0.0,0.0,0.0,0.0,3.0,4.0,13.0,0.0,0.4333,0.0333,0.3,0.0,5.0,3.0,0,0,7,0,100.0,0.0,18.0,17.0,0.0,0.0,0,0,0.0,0.0,4,0.0,6,16,8.0,1,0,0,0,3.7037037037037037,3.75,1.25,65.0,135.0,16.875,0,False,False,False,False,False,True,False
+4,220.0,118.0,49.0,39.0,0.0,19.0,0.0,0.0,41.0,13.0,8.0,0.0,0.0,1.0,0.0,6.0,23.0,14.0,1.0,0.5364,0.2227,0.1773,0.0,7.0,9.4,0,0,4,5,0.0,40.0,2881.0,1650.0,3570.0,0.0,0,0,1281.0,0.0,79,256.0,14,22,8.0,0,1,0,0,27.160493827160494,44.0,2.6,826.0,8397.0,1679.4,1,False,True,False,False,False,False,False
+2,107.0,65.0,9.0,8.0,0.0,17.0,0.0,4.0,28.0,26.0,15.0,7.0,0.0,0.0,0.0,13.0,0.0,17.0,0.0,0.6075,0.0841,0.0748,0.0,5.0,6.87,0,0,1,0,0.0,10960.0,0.0,390.0,0.0,0.0,0,0,0.0,0.0,0,0.0,12,20,8.0,0,1,0,0,13.209876543209877,53.5,13.0,325.0,11350.0,5675.0,0,False,True,False,False,False,False,False
+1,47.0,27.0,3.0,1.0,0.0,5.0,4.0,2.0,16.0,10.0,15.0,0.0,0.0,0.0,0.0,7.0,2.0,2.0,0.0,0.5745,0.0638,0.0213,0.0,5.0,4.1,0,0,6,2,0.0,0.0,356.0,118.0,320.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,5.802469135802469,6.714285714285714,1.4285714285714286,135.0,794.0,113.42857142857143,0,False,False,False,False,False,True,False
+7,199.0,114.0,30.0,46.0,0.0,33.0,0.0,17.0,32.0,69.0,43.0,26.0,0.0,0.0,0.0,17.0,51.0,14.0,0.0,0.5729,0.1508,0.2312,0.0,6.0,9.2,0,0,17,39,16717.42,3102.0,11845.88,2224.0,4105.0,1526.0,4,2,2436.0,86.8,125,1916.0,6,17,8.0,1,0,0,0,24.567901234567902,11.055555555555555,3.8333333333333335,684.0,41436.299999999996,2302.0166666666664,0,False,False,False,False,False,True,False
+3,65.0,47.0,21.0,15.0,8.0,6.0,0.0,1.0,7.0,24.0,19.0,10.0,11.0,3.0,1.0,4.0,8.0,2.0,4.0,0.7231,0.3231,0.2308,0.1231,10.0,9.91,0,0,7,24,0.0,0.0,0.0,216.0,4225.0,0.0,0,0,0.0,0.0,0,0.0,5,16,8.0,0,0,0,1,8.024691358024691,8.125,3.0,470.0,4441.0,555.125,1,False,False,False,True,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,22,6,8.0,0,0,1,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,True,False,False
+1,10.0,10.0,4.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.0,0.0,1.0,0.4,0.1,0.0,1.0,0.97,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,50.0,16,20,8.0,0,1,0,0,1.234567901234568,5.0,0.0,10.0,50.0,25.0,0,False,False,False,False,False,False,True
+1,10.0,5.0,2.0,3.0,0.0,0.0,0.0,0.0,1.0,3.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.5,0.2,0.3,0.0,4.0,1.5,0,0,1,3,0.0,1200.0,40.0,60.0,0.0,0.0,0,0,0.0,0.0,0,100.0,6,15,8.0,1,0,0,0,1.234567901234568,5.0,1.5,20.0,1400.0,700.0,0,False,False,False,False,False,True,False
diff --git a/data/splits/X_train.csv b/data/splits/X_train.csv
new file mode 100644
index 0000000..c2fa781
--- /dev/null
+++ b/data/splits/X_train.csv
@@ -0,0 +1,268 @@
+so_ca_cua_toa,num_tasks,num_cleaning_tasks,num_trash_collection_tasks,num_monitoring_tasks,num_room_cleaning_tasks,num_deep_cleaning_tasks,num_maintenance_tasks,num_support_tasks,num_other_tasks,num_wc_tasks,num_hallway_tasks,num_lobby_tasks,num_patient_room_tasks,num_clinic_room_tasks,num_surgery_room_tasks,num_outdoor_tasks,num_elevator_tasks,num_office_tasks,num_technical_room_tasks,cleaning_ratio,trash_collection_ratio,monitoring_ratio,room_cleaning_ratio,area_diversity,task_complexity_score,loai_hinh,muc_do_luu_luong,so_tang,so_cua_thang_may,dien_tich_ngoai_canh,dien_tich_sanh,dien_tich_hanh_lang,dien_tich_wc,dien_tich_phong,dien_tich_tham,doc_ham,vien_phan_quang,op_tuong,op_chan_tuong,ranh_thoat_nuoc,dien_tich_kinh,hour_start,hour_end,work_hours_numeric,is_morning_shift,is_afternoon_shift,is_evening_shift,is_night_shift,tasks_per_hour,tasks_per_floor,wc_per_floor,cleaning_workload,total_area,area_per_floor,has_special_areas,loai_ca_24/24,loai_ca_Ca chiều,loai_ca_Ca gãy,loai_ca_Ca sáng,loai_ca_Ca đêm,loai_ca_Hành chính,loai_ca_Part time
+1,21.0,10.0,1.0,4.0,0.0,2.0,0.0,1.0,8.0,5.0,1.0,1.0,0.0,0.0,0.0,1.0,3.0,0.0,0.0,0.4762,0.0476,0.1905,0.0,5.0,2.31,0,0,14,5,800.0,0.0,901.0,406.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,2.5925925925925926,1.4,0.3333333333333333,50.0,2107.0,140.46666666666667,0,False,False,False,True,False,False,False
+1,13.0,9.0,0.0,0.0,0.0,2.0,0.0,1.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.6923,0.0,0.0,0.0,1.0,1.52,0,0,1,0,0.0,0.0,0.0,0.0,200.0,70.0,0,0,0.0,0.0,0,200.0,6,16,8.0,1,0,0,0,1.6049382716049383,6.5,0.0,9.0,470.0,235.0,0,False,False,False,False,False,True,False
+3,239.0,99.0,50.0,44.0,0.0,13.0,1.0,19.0,39.0,8.0,73.0,60.0,0.0,0.0,0.0,8.0,18.0,1.0,1.0,0.4142,0.2092,0.1841,0.0,7.0,9.4,0,0,24,90,3599.0,1089.0,1829.0,111.0,1610.0,1240.0,2,0,543.0,0.0,91,874.0,6,16,8.0,1,0,0,0,29.506172839506174,9.56,0.32,693.0,10352.0,414.08,0,False,False,False,True,False,False,False
+1,30.0,26.0,3.0,0.0,0.0,0.0,2.0,1.0,4.0,6.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,7.0,0.0,0.8667,0.1,0.0,0.0,4.0,4.82,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,7,9,8.0,1,0,0,0,3.7037037037037037,15.0,3.0,104.0,0.0,0.0,0,False,False,False,False,False,False,True
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,4,0,6444.0,0.0,0.0,0.0,70.0,0.0,724,0,0.0,0.0,276,0.0,0,0,8.0,0,0,0,1,0.0,0.0,0.0,0.0,6514.0,1302.8,0,False,False,False,True,False,False,False
+4,93.0,26.0,29.0,31.0,5.0,11.0,0.0,0.0,22.0,47.0,4.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.2796,0.3118,0.3333,0.0538,4.0,5.33,0,0,2,0,2613.0,120.0,210.0,297.0,4078.0,0.0,0,0,35.0,0.0,0,0.0,6,15,8.0,1,0,0,0,11.481481481481483,31.0,15.666666666666666,104.0,7318.0,2439.3333333333335,1,False,False,False,True,False,False,False
+4,220.0,118.0,49.0,39.0,0.0,19.0,0.0,0.0,41.0,13.0,8.0,0.0,0.0,1.0,0.0,6.0,23.0,14.0,1.0,0.5364,0.2227,0.1773,0.0,7.0,9.4,0,0,4,5,0.0,40.0,2881.0,1650.0,3570.0,0.0,0,0,1281.0,0.0,79,256.0,7,15,8.0,1,0,0,0,27.160493827160494,44.0,2.6,826.0,8397.0,1679.4,1,False,False,False,False,False,True,False
+3,354.0,230.0,46.0,85.0,0.0,2.0,0.0,52.0,52.0,41.0,78.0,59.0,0.0,0.0,0.0,16.0,126.0,2.0,0.0,0.6497,0.1299,0.2401,0.0,6.0,9.2,0,0,41,416,3800.0,1300.0,13230.0,390.0,0.0,70.0,500,2150,3680.0,3000.0,30,1896.0,13,21,8.0,0,1,0,0,43.7037037037037,8.428571428571429,0.9761904761904762,1380.0,20686.0,492.5238095238095,0,False,True,False,False,False,False,False
+2,123.0,40.0,21.0,40.0,0.0,20.0,5.0,5.0,15.0,27.0,41.0,22.0,0.0,0.0,0.0,3.0,30.0,13.0,0.0,0.3252,0.1707,0.3252,0.0,6.0,8.73,0,0,9,28,1420.0,448.0,340.0,360.0,5242.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,15.185185185185185,12.3,2.7,240.0,7810.0,781.0,0,False,False,False,False,False,True,False
+3,88.0,42.0,10.0,13.0,0.0,17.0,0.0,4.0,12.0,30.0,37.0,1.0,7.0,4.0,1.0,1.0,14.0,0.0,3.0,0.4773,0.1136,0.1477,0.0,9.0,8.51,0,0,13,12,0.0,0.0,2065.0,326.0,2035.0,30.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,10.864197530864198,6.285714285714286,2.142857142857143,378.0,4456.0,318.2857142857143,1,False,False,False,False,False,True,False
+3,44.0,24.0,7.0,13.0,0.0,10.0,0.0,0.0,4.0,9.0,11.0,10.0,0.0,0.0,0.0,5.0,13.0,0.0,0.0,0.5455,0.1591,0.2955,0.0,5.0,5.25,0,0,12,44,0.0,60.0,64.0,160.0,0.0,0.0,1,0,0.0,64.0,0,62.0,6,16,8.0,1,0,0,0,5.432098765432099,3.3846153846153846,0.6923076923076923,120.0,346.0,26.615384615384617,0,False,False,False,False,False,True,False
+2,488.0,403.0,123.0,89.0,21.0,0.0,30.0,52.0,81.0,147.0,145.0,14.0,143.0,0.0,2.0,5.0,49.0,71.0,39.0,0.8258,0.252,0.1824,0.043,9.0,8.3,0,0,5,14,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,2.0,5,16,8.0,0,0,0,1,60.24691358024692,81.33333333333333,24.5,3627.0,2.0,0.3333333333333333,1,False,False,False,False,False,True,False
+3,45.0,15.0,6.0,10.0,0.0,8.0,0.0,4.0,7.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,27.0,0.0,0.3333,0.1333,0.2222,0.0,1.0,4.36,0,0,3,0,0.0,120.0,0.0,0.0,100.0,0.0,0,0,0.0,0.0,0,0.0,16,20,8.0,0,1,0,0,5.555555555555555,11.25,0.0,15.0,220.0,55.0,0,False,False,False,False,False,False,True
+4,83.0,53.0,8.0,15.0,0.0,1.0,0.0,4.0,14.0,20.0,15.0,4.0,0.0,0.0,0.0,12.0,15.0,1.0,0.0,0.6386,0.0964,0.1807,0.0,6.0,6.01,0,0,5,0,2500.0,280.0,1890.0,224.0,0.0,0.0,0,0,530.0,568.0,0,0.0,6,16,8.0,1,0,0,0,10.246913580246915,13.833333333333334,3.3333333333333335,318.0,4894.0,815.6666666666666,0,False,False,False,False,False,True,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,5,0,8.0,0,0,0,1,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,False
+4,170.0,82.0,23.0,34.0,0.0,10.0,14.0,16.0,35.0,50.0,8.0,10.0,0.0,0.0,0.0,10.0,20.0,0.0,1.0,0.4824,0.1353,0.2,0.0,6.0,9.2,0,0,11,54,2000.0,3118.36,833.89,5856.6,700.0,4207.39,1000,100,10.0,0.0,500,2400.0,7,16,8.0,1,0,0,0,20.987654320987655,14.166666666666666,4.166666666666667,492.0,19116.24,1593.0200000000002,0,False,False,False,False,False,True,False
+1,12.0,8.0,2.0,0.0,0.0,0.0,0.0,0.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5.0,0.0,0.6667,0.1667,0.0,0.0,1.0,1.15,0,0,1,0,0.0,0.0,0.0,0.0,360.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,1.4814814814814816,6.0,0.0,8.0,360.0,180.0,0,False,False,False,False,False,True,False
+12,227.0,136.0,69.0,10.0,0.0,9.0,0.0,10.0,50.0,54.0,34.0,68.0,1.0,0.0,0.0,23.0,33.0,1.0,2.0,0.5991,0.304,0.0441,0.0,8.0,9.6,0,0,36,336,9642.0,6225.2,8826.0,150.0,186.0,50.0,450,0,2168.0,0.0,142,807.5,18,22,8.0,0,0,1,0,28.024691358024693,6.135135135135135,1.4594594594594594,1088.0,25886.7,699.6405405405405,1,False,False,False,False,False,False,True
+7,471.0,322.0,62.0,68.0,0.0,36.0,0.0,25.0,56.0,124.0,148.0,27.0,1.0,0.0,0.0,37.0,86.0,10.0,0.0,0.6837,0.1316,0.1444,0.0,7.0,7.4,0,0,12,57,18000.0,1675.0,11994.0,1760.0,20461.0,150.0,0,0,3470.0,3666.0,535,5116.0,13,21,8.0,0,1,0,0,58.14814814814815,36.23076923076923,9.538461538461538,2254.0,59156.0,4550.461538461538,1,False,True,False,False,False,False,False
+3,193.0,88.0,53.0,34.0,0.0,8.0,2.0,0.0,51.0,15.0,5.0,0.0,1.0,0.0,0.0,6.0,0.0,7.0,0.0,0.456,0.2746,0.1762,0.0,5.0,8.0,0,0,1,0,0.0,0.0,20.0,480.0,4690.0,0.0,0,0,0.0,0.0,0,120.0,7,16,8.0,1,0,0,0,23.82716049382716,96.5,7.5,440.0,5310.0,2655.0,1,False,False,False,False,False,True,False
+5,300.0,108.0,51.0,30.0,0.0,26.0,9.0,0.0,109.0,30.0,12.0,9.0,0.0,0.0,0.0,14.0,17.0,2.0,0.0,0.36,0.17,0.1,0.0,6.0,7.7,0,0,2,2,900.0,1860.0,660.0,607.0,370.0,0.0,0,0,0.0,0.0,0,74.0,6,14,8.0,1,0,0,0,37.03703703703704,100.0,10.0,648.0,4471.0,1490.3333333333333,0,False,False,False,True,False,False,False
+3,170.0,69.0,26.0,14.0,3.0,6.0,2.0,4.0,66.0,26.0,38.0,25.0,0.0,0.0,0.0,9.0,32.0,0.0,0.0,0.4059,0.1529,0.0824,0.0176,5.0,8.0,0,0,29,113,2750.0,9223.0,2384.0,194.0,177.0,6.0,6,850,684.0,1151.0,11,701.0,6,14,8.0,1,0,0,0,20.987654320987655,5.666666666666667,0.8666666666666667,345.0,15435.0,514.5,0,False,False,False,True,False,False,False
+6,441.0,258.0,145.0,134.0,65.0,75.0,62.0,57.0,45.0,89.0,90.0,5.0,41.0,25.0,30.0,4.0,12.0,39.0,16.0,0.585,0.3288,0.3039,0.1474,10.0,10.0,0,0,10,18,1700.0,0.0,2600.0,348.0,6825.0,0.0,70,0,9176.0,89.0,25,894.0,22,6,8.0,0,0,1,0,54.44444444444445,40.09090909090909,8.090909090909092,2580.0,12367.0,1124.2727272727273,1,False,False,False,False,True,False,False
+1,7.0,5.0,4.0,1.0,0.0,2.0,4.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.7143,0.5714,0.1429,0.0,4.0,1.3,0,0,2,0,0.0,0.0,0.0,15.0,100.0,0.0,0,0,0.0,0.0,0,20.0,16,18,8.0,0,1,0,0,0.8641975308641976,2.3333333333333335,0.3333333333333333,20.0,135.0,45.0,0,False,False,False,False,False,False,True
+6,772.0,427.0,96.0,199.0,0.0,99.0,44.0,27.0,106.0,256.0,34.0,72.0,0.0,0.0,2.0,26.0,36.0,20.0,2.0,0.5531,0.1244,0.2578,0.0,8.0,9.6,0,0,30,135,6800.0,1217.0,541.0,671.0,30.0,2226.0,5,450,0.0,2440.0,650,25.0,0,0,8.0,0,0,0,1,95.30864197530865,24.903225806451612,8.258064516129032,3416.0,11510.0,371.2903225806452,1,False,False,False,False,False,True,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,10,12,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,True
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,5,13,8.0,0,0,0,1,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,True,False,False,False
+3,39.0,26.0,6.0,9.0,0.0,0.0,0.0,1.0,3.0,0.0,8.0,2.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.6667,0.1538,0.2308,0.0,3.0,5.36,0,0,5,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,14,20,8.0,0,1,0,0,4.814814814814815,6.5,0.0,78.0,0.0,0.0,0,False,True,False,False,False,False,False
+3,39.0,26.0,6.0,9.0,0.0,0.0,0.0,1.0,3.0,0.0,8.0,2.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.6667,0.1538,0.2308,0.0,3.0,5.36,0,0,5,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,4.814814814814815,6.5,0.0,78.0,0.0,0.0,0,False,False,False,False,False,True,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,15,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,True,False,False,False
+1,40.0,23.0,2.0,18.0,0.0,4.0,0.0,1.0,2.0,10.0,0.0,0.0,0.0,0.0,0.0,4.0,5.0,13.0,0.0,0.575,0.05,0.45,0.0,4.0,4.43,0,0,6,4,50.0,0.0,0.0,20.0,650.0,70.0,1,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,4.938271604938272,5.714285714285714,1.4285714285714286,92.0,790.0,112.85714285714286,0,False,False,False,False,False,True,False
+1,518.0,293.0,108.0,106.0,0.0,90.0,0.0,15.0,76.0,149.0,63.0,88.0,0.0,0.0,0.0,5.0,100.0,9.0,0.0,0.5656,0.2085,0.2046,0.0,6.0,9.2,0,0,9,14,2000.0,250.0,2179.0,590.0,515.0,2.0,0,300,210.0,693.0,0,890.0,6,16,8.0,1,0,0,0,63.95061728395062,51.8,14.9,1758.0,6426.0,642.6,0,False,False,False,False,False,True,False
+2,20.0,6.0,2.0,5.0,1.0,3.0,0.0,0.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.3,0.1,0.25,0.05,1.0,1.43,0,0,0,0,0.0,50.0,0.0,0.0,7.0,10.0,0,0,0.0,0.0,0,70.0,14,22,8.0,0,1,0,0,2.469135802469136,20.0,0.0,6.0,137.0,137.0,0,False,True,False,False,False,False,False
+1,132.0,75.0,43.0,28.0,0.0,13.0,1.0,7.0,25.0,17.0,13.0,9.0,0.0,0.0,0.0,0.0,16.0,56.0,0.0,0.5682,0.3258,0.2121,0.0,5.0,6.92,0,0,2,0,0.0,0.0,0.0,0.0,1250.0,200.0,0,0,0.0,0.0,0,160.0,6,16,8.0,1,0,0,0,16.296296296296298,44.0,5.666666666666667,375.0,1610.0,536.6666666666666,0,False,False,False,False,False,True,False
+1,7.0,4.0,2.0,0.0,0.0,1.0,0.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.5714,0.2857,0.0,0.0,1.0,1.17,0,0,0,0,0.0,0.0,0.0,0.0,80.0,0.0,0,0,20.0,40.0,0,40.0,6,8,8.0,1,0,0,0,0.8641975308641976,7.0,0.0,4.0,120.0,120.0,0,False,False,False,False,False,False,True
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,15,21,8.0,0,1,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,True,False,False,False,False,False
+2,240.0,125.0,57.0,38.0,0.0,30.0,0.0,56.0,43.0,17.0,27.0,44.0,0.0,0.0,0.0,9.0,48.0,0.0,0.0,0.5208,0.2375,0.1583,0.0,5.0,9.0,0,0,15,316,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,15,17,8.0,0,1,0,0,29.62962962962963,15.0,1.0625,625.0,0.0,0.0,0,False,False,False,False,False,False,True
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,17,21,8.0,0,1,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,True
+3,333.0,243.0,27.0,68.0,0.0,22.0,0.0,12.0,44.0,120.0,67.0,23.0,0.0,0.0,0.0,18.0,53.0,27.0,10.0,0.7297,0.0811,0.2042,0.0,7.0,9.4,0,0,16,24,1000.0,350.0,1010.0,330.0,0.0,7.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,41.111111111111114,19.58823529411765,7.0588235294117645,1701.0,2697.0,158.64705882352942,0,False,False,False,True,False,False,False
+2,18.0,11.0,2.0,0.0,0.0,1.0,0.0,0.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.6111,0.1111,0.0,0.0,1.0,1.78,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,15,8.0,1,0,0,0,2.2222222222222223,9.0,0.0,11.0,0.0,0.0,0,False,False,False,False,False,True,False
+2,51.0,28.0,6.0,22.0,0.0,0.0,0.0,7.0,6.0,11.0,10.0,24.0,0.0,0.0,0.0,2.0,12.0,0.0,0.0,0.549,0.1176,0.4314,0.0,5.0,4.61,0,0,30,152,2000.0,1400.0,8000.0,134.0,0.0,0.0,4,8,350.0,2300.0,600,2700.0,6,16,8.0,1,0,0,0,6.296296296296297,1.6451612903225807,0.3548387096774194,140.0,14234.0,459.16129032258067,0,False,False,False,False,False,True,False
+3,370.0,301.0,83.0,70.0,0.0,66.0,7.0,27.0,35.0,92.0,102.0,73.0,0.0,0.0,0.0,13.0,106.0,4.0,0.0,0.8135,0.2243,0.1892,0.0,6.0,9.2,0,0,20,254,10000.0,8600.0,8420.0,1675.0,27265.0,508.0,4,0,1865.0,5760.0,460,767.0,6,14,8.0,1,0,0,0,45.67901234567901,17.61904761904762,4.380952380952381,1806.0,57235.0,2725.4761904761904,0,False,False,False,True,False,False,False
+4,125.0,58.0,10.0,18.0,0.0,17.0,0.0,7.0,27.0,20.0,11.0,6.0,0.0,0.0,0.0,10.0,7.0,1.0,0.0,0.464,0.08,0.144,0.0,6.0,7.71,0,0,1,3,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,15.4320987654321,62.5,10.0,348.0,0.0,0.0,0,False,False,False,True,False,False,False
+5,133.0,88.0,25.0,33.0,0.0,10.0,0.0,13.0,23.0,14.0,51.0,15.0,0.0,0.0,0.0,4.0,58.0,0.0,0.0,0.6617,0.188,0.2481,0.0,5.0,9.0,0,0,32,124,400.0,230.0,5637.0,214.0,15.0,0.0,5,350,720.0,0.0,0,15.0,6,14,8.0,1,0,0,0,16.419753086419753,4.03030303030303,0.42424242424242425,440.0,6511.0,197.3030303030303,0,False,False,False,True,False,False,False
+2,745.0,359.0,140.0,8.0,20.0,46.0,18.0,35.0,259.0,219.0,76.0,26.0,0.0,0.0,0.0,8.0,44.0,28.0,2.0,0.4819,0.1879,0.0107,0.0268,7.0,9.4,0,0,20,68,300.0,1002.0,2975.0,333.0,8881.0,1879.0,1200,100,1385.0,0.0,60,70.0,13,21,8.0,0,1,0,0,91.97530864197532,35.476190476190474,10.428571428571429,2513.0,15440.0,735.2380952380952,0,False,True,False,False,False,False,False
+3,88.0,42.0,10.0,13.0,0.0,17.0,0.0,4.0,12.0,30.0,37.0,1.0,7.0,4.0,1.0,1.0,14.0,0.0,3.0,0.4773,0.1136,0.1477,0.0,9.0,8.51,0,0,13,12,0.0,0.0,2065.0,326.0,2035.0,30.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,10.864197530864198,6.285714285714286,2.142857142857143,378.0,4456.0,318.2857142857143,1,False,False,False,False,False,True,False
+2,19.0,11.0,3.0,3.0,0.0,1.0,0.0,1.0,4.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,10.0,0.0,0.5789,0.1579,0.1579,0.0,2.0,2.19,0,0,1,0,0.0,0.0,0.0,0.0,500.0,500.0,0,0,0.0,0.0,0,0.0,7,11,8.0,1,0,0,0,2.345679012345679,9.5,0.0,22.0,1000.0,500.0,0,False,False,False,False,False,False,True
+3,135.0,81.0,35.0,38.0,9.0,10.0,8.0,20.0,21.0,25.0,16.0,0.0,12.0,4.0,8.0,5.0,10.0,7.0,8.0,0.6,0.2593,0.2815,0.0667,9.0,8.8,0,0,4,7,150.0,0.0,1090.0,156.0,2780.0,38.0,0,0,3301.0,10.0,0,267.0,22,6,8.0,0,0,1,0,16.666666666666668,27.0,5.0,729.0,4481.0,896.2,1,False,False,False,False,True,False,False
+2,99.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,99.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,3.6,0,0,32,155,250.0,6442.4,4062.3,333.2,120.0,15.0,9,300,270.0,0.0,330,1580.0,6,16,8.0,1,0,0,0,12.222222222222223,3.0,0.0,0.0,12802.900000000001,387.9666666666667,0,False,False,False,False,False,True,False
+3,331.0,130.0,53.0,55.0,7.0,14.0,4.0,20.0,98.0,70.0,5.0,68.0,0.0,0.0,0.0,5.0,24.0,9.0,2.0,0.3927,0.1601,0.1662,0.0211,7.0,9.4,0,0,10,14,6500.0,12400.0,220.0,1616.0,350.0,0.0,11,40,365.0,820.0,2000,500.0,13,22,8.0,0,1,0,0,40.864197530864196,30.09090909090909,6.363636363636363,910.0,21586.0,1962.3636363636363,0,False,True,False,False,False,False,False
+1,79.0,54.0,9.0,10.0,0.0,13.0,0.0,4.0,14.0,7.0,1.0,5.0,0.0,0.0,0.0,7.0,1.0,7.0,0.0,0.6835,0.1139,0.1266,0.0,6.0,5.84,0,0,1,0,800.0,0.0,0.0,60.0,5530.0,0.0,0,0,0.0,0.0,0,200.0,0,0,8.0,0,0,0,1,9.753086419753087,39.5,3.5,324.0,6590.0,3295.0,0,False,False,False,False,False,False,False
+1,7.0,3.0,2.0,1.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4286,0.2857,0.1429,0.0,0.0,0.46,0,0,1,0,0.0,0.0,0.0,0.0,1000.0,0.0,0,0,0.0,0.0,0,0.0,9,17,8.0,1,0,0,0,0.8641975308641976,3.5,0.0,0.0,1000.0,500.0,0,False,False,False,False,False,True,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,1000.0,0.0,100.0,0.0,4.0,0,0,100.0,500.0,2,500.0,8,8,8.0,1,0,0,0,0.0,0.0,0.0,0.0,1604.0,802.0,0,True,False,False,False,False,False,False
+4,93.0,26.0,29.0,31.0,5.0,11.0,0.0,0.0,22.0,47.0,4.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.2796,0.3118,0.3333,0.0538,4.0,5.33,0,0,2,0,2613.0,120.0,210.0,297.0,4078.0,0.0,0,0,35.0,0.0,0,0.0,21,6,8.0,0,0,1,0,11.481481481481483,31.0,15.666666666666666,104.0,7318.0,2439.3333333333335,1,False,False,False,False,True,False,False
+3,135.0,81.0,35.0,38.0,9.0,10.0,8.0,20.0,21.0,25.0,16.0,0.0,12.0,4.0,8.0,5.0,10.0,7.0,8.0,0.6,0.2593,0.2815,0.0667,9.0,8.8,0,0,4,7,150.0,0.0,1090.0,156.0,2780.0,38.0,0,0,3301.0,10.0,0,267.0,6,16,8.0,1,0,0,0,16.666666666666668,27.0,5.0,729.0,4481.0,896.2,1,False,False,False,False,False,True,False
+3,68.0,44.0,19.0,15.0,0.0,5.0,17.0,5.0,10.0,23.0,3.0,1.0,0.0,0.0,0.0,0.0,2.0,9.0,0.0,0.6471,0.2794,0.2206,0.0,5.0,6.25,0,0,1,0,1000.0,6510.0,0.0,138.0,0.0,108.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,8.395061728395062,34.0,11.5,220.0,7756.0,3878.0,0,False,False,False,False,False,True,False
+1,356.0,178.0,39.0,83.0,0.0,52.0,1.0,16.0,87.0,81.0,3.0,78.0,0.0,0.0,0.0,22.0,67.0,7.0,0.0,0.5,0.1096,0.2331,0.0,6.0,7.2,0,0,23,74,750.0,400.0,17580.0,5230.0,0.0,0.0,2,0,0.0,0.0,300,7800.0,6,16,8.0,1,0,0,0,43.95061728395062,14.833333333333334,3.375,1068.0,31760.0,1323.3333333333333,0,False,False,False,False,False,True,False
+5,775.0,445.0,140.0,156.0,0.0,116.0,64.0,42.0,184.0,236.0,25.0,0.0,0.0,0.0,0.0,37.0,17.0,11.0,20.0,0.5742,0.1806,0.2013,0.0,6.0,9.2,0,0,49,0,10000.0,0.0,150.0,0.0,1000.0,41.0,3,0,0.0,0.0,15,80.0,16,22,8.0,0,1,0,0,95.67901234567901,15.5,4.72,2670.0,11271.0,225.42,0,False,True,False,False,False,False,False
+6,441.0,258.0,145.0,134.0,65.0,75.0,62.0,57.0,45.0,89.0,90.0,5.0,41.0,25.0,30.0,4.0,12.0,39.0,16.0,0.585,0.3288,0.3039,0.1474,10.0,10.0,0,0,10,18,1700.0,0.0,2600.0,348.0,6825.0,0.0,70,0,9176.0,89.0,25,894.0,12,20,8.0,0,1,0,0,54.44444444444445,40.09090909090909,8.090909090909092,2580.0,12367.0,1124.2727272727273,1,False,False,True,False,False,False,False
+3,1009.0,713.0,125.0,33.0,0.0,102.0,7.0,94.0,170.0,59.0,507.0,40.0,0.0,0.0,0.0,25.0,44.0,0.0,0.0,0.7066,0.1239,0.0327,0.0,5.0,9.0,0,0,55,724,10000.0,201200.0,20280.0,0.0,0.0,0.0,0,0,0.0,0.0,4,0.0,6,14,8.0,1,0,0,0,124.56790123456791,18.017857142857142,1.0535714285714286,3565.0,231480.0,4133.571428571428,0,False,False,False,True,False,False,False
+6,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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.06,0,0,32,305,3800.0,2950.0,7290.0,856.0,32110.0,2320.0,2,250,7750.0,2915.0,44,1850.0,6,16,8.0,1,0,0,0,0.1234567901234568,0.030303030303030304,0.0,0.0,51176.0,1550.7878787878788,0,False,False,False,False,False,True,False
+1,7.0,4.0,2.0,0.0,0.0,1.0,0.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.5714,0.2857,0.0,0.0,1.0,1.17,0,0,3,0,0.0,0.0,30.0,15.0,150.0,0.0,0,0,55.0,69.0,0,70.0,6,8,8.0,1,0,0,0,0.8641975308641976,1.75,0.0,4.0,265.0,66.25,0,False,False,False,False,False,False,True
+1,38.0,33.0,17.0,4.0,0.0,5.0,0.0,1.0,1.0,13.0,2.0,3.0,0.0,0.0,0.0,6.0,5.0,10.0,0.0,0.8684,0.4474,0.1053,0.0,6.0,6.64,0,0,5,0,30.0,0.0,0.0,6.0,1500.0,0.0,0,0,0.0,0.0,0,10.0,6,16,8.0,1,0,0,0,4.691358024691358,6.333333333333333,2.1666666666666665,198.0,1546.0,257.6666666666667,0,False,False,False,False,False,True,False
+2,19.0,11.0,3.0,3.0,0.0,1.0,0.0,1.0,4.0,0.0,0.0,2.0,0.0,0.0,0.0,0.0,0.0,10.0,0.0,0.5789,0.1579,0.1579,0.0,2.0,2.19,0,0,1,0,0.0,0.0,0.0,0.0,500.0,500.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,2.345679012345679,9.5,0.0,22.0,1000.0,500.0,0,False,False,False,False,False,True,False
+3,239.0,99.0,50.0,44.0,0.0,13.0,1.0,19.0,39.0,8.0,73.0,60.0,0.0,0.0,0.0,8.0,18.0,1.0,1.0,0.4142,0.2092,0.1841,0.0,7.0,9.4,0,0,24,90,3599.0,1089.0,1829.0,111.0,1610.0,1240.0,2,0,543.0,0.0,91,874.0,8,17,8.0,1,0,0,0,29.506172839506174,9.56,0.32,693.0,10352.0,414.08,0,False,False,False,False,False,True,False
+1,19.0,12.0,1.0,2.0,0.0,2.0,0.0,1.0,3.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,6.0,0.0,0.6316,0.0526,0.1053,0.0,3.0,2.42,0,0,1,0,484.61,0.0,0.0,12.0,0.0,0.0,0,0,0.0,0.0,0,60.0,6,16,8.0,1,0,0,0,2.345679012345679,9.5,2.5,36.0,556.61,278.305,0,False,False,False,False,False,True,False
+3,130.0,83.0,33.0,49.0,0.0,6.0,7.0,17.0,22.0,43.0,3.0,0.0,0.0,1.0,0.0,2.0,0.0,6.0,0.0,0.6385,0.2538,0.3769,0.0,5.0,7.0,0,0,1,0,5000.0,8520.0,0.0,340.0,0.0,1519.0,0,0,0.0,0.0,0,0.0,5,13,8.0,0,0,0,1,16.049382716049383,65.0,21.5,415.0,15379.0,7689.5,1,False,False,False,True,False,False,False
+6,441.0,258.0,145.0,134.0,65.0,75.0,62.0,57.0,45.0,89.0,90.0,5.0,41.0,25.0,30.0,4.0,12.0,39.0,16.0,0.585,0.3288,0.3039,0.1474,10.0,10.0,0,0,10,18,1700.0,0.0,2600.0,348.0,6825.0,0.0,70,0,9176.0,89.0,25,894.0,6,16,8.0,1,0,0,0,54.44444444444445,40.09090909090909,8.090909090909092,2580.0,12367.0,1124.2727272727273,1,False,False,False,False,False,True,False
+5,971.0,462.0,163.0,79.0,2.0,2.0,102.0,50.0,359.0,98.0,137.0,63.0,32.0,22.0,2.0,28.0,63.0,91.0,14.0,0.4758,0.1679,0.0814,0.0021,10.0,10.0,0,0,8,34,16651.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,119.87654320987654,107.88888888888889,10.88888888888889,4620.0,16651.0,1850.111111111111,1,False,False,False,False,False,True,False
+1,16.0,8.0,2.0,4.0,0.0,1.0,0.0,1.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5.0,0.0,0.5,0.125,0.25,0.0,1.0,1.24,0,0,1,0,0.0,0.0,0.0,0.0,300.0,300.0,0,0,0.0,0.0,0,0.0,8,17,8.0,1,0,0,0,1.9753086419753088,8.0,0.0,8.0,600.0,300.0,0,False,False,False,False,False,True,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,18,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,True,False
+3,130.0,83.0,33.0,49.0,0.0,6.0,7.0,17.0,22.0,43.0,3.0,0.0,0.0,1.0,0.0,2.0,0.0,6.0,0.0,0.6385,0.2538,0.3769,0.0,5.0,7.0,0,0,1,0,5000.0,8520.0,0.0,340.0,0.0,1519.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,16.049382716049383,65.0,21.5,415.0,15379.0,7689.5,1,False,False,False,False,False,True,False
+3,333.0,243.0,27.0,68.0,0.0,22.0,0.0,12.0,44.0,120.0,67.0,23.0,0.0,0.0,0.0,18.0,53.0,27.0,10.0,0.7297,0.0811,0.2042,0.0,7.0,9.4,0,0,16,24,1000.0,350.0,1010.0,330.0,0.0,7.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,41.111111111111114,19.58823529411765,7.0588235294117645,1701.0,2697.0,158.64705882352942,0,False,True,False,False,False,False,False
+3,228.0,128.0,63.0,13.0,0.0,6.0,1.0,11.0,62.0,17.0,0.0,3.0,0.0,4.0,0.0,30.0,1.0,9.0,0.0,0.5614,0.2763,0.057,0.0,6.0,9.2,0,0,10,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,28.14814814814815,20.727272727272727,1.5454545454545454,768.0,0.0,0.0,1,False,False,False,False,False,True,False
+4,77.0,58.0,26.0,0.0,0.0,2.0,0.0,3.0,14.0,7.0,0.0,26.0,0.0,0.0,0.0,4.0,29.0,0.0,0.0,0.7532,0.3377,0.0,0.0,4.0,5.99,0,0,36,265,14322.0,20012.0,3970.0,175.0,880.0,20.0,2,1322,3122.0,3900.0,39,600.0,13,21,8.0,0,1,0,0,9.506172839506172,2.081081081081081,0.1891891891891892,232.0,39979.0,1080.5135135135135,0,False,True,False,False,False,False,False
+4,593.0,334.0,95.0,68.0,16.0,24.0,2.0,66.0,139.0,55.0,76.0,26.0,64.0,6.0,16.0,4.0,49.0,64.0,22.0,0.5632,0.1602,0.1147,0.027,10.0,10.0,0,0,15,24,0.0,430.0,3230.0,150.0,24030.0,0.0,0,0,0.0,0.0,0,0.0,14,22,8.0,0,1,0,0,73.20987654320987,37.0625,3.4375,3340.0,27840.0,1740.0,1,False,True,False,False,False,False,False
+1,11.0,7.0,6.0,2.0,0.0,0.0,0.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6364,0.5455,0.1818,0.0,0.0,1.27,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,1.3580246913580247,5.5,0.0,0.0,0.0,0.0,0,False,False,False,False,False,True,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,4,0,0.0,0.0,0.0,20.0,450.0,0.0,0,0,0.0,0.0,0,150.0,16,18,8.0,0,1,0,0,0.0,0.0,0.0,0.0,620.0,124.0,0,False,False,False,False,False,False,True
+2,152.0,73.0,14.0,33.0,0.0,24.0,0.0,6.0,29.0,13.0,21.0,23.0,0.0,0.0,0.0,3.0,55.0,0.0,0.0,0.4803,0.0921,0.2171,0.0,5.0,8.5,0,0,29,150,3000.0,340.0,7000.0,60.0,80.0,0.0,8,8,0.0,300.0,4,2400.0,13,21,8.0,0,1,0,0,18.765432098765434,5.066666666666666,0.43333333333333335,365.0,12880.0,429.3333333333333,0,False,True,False,False,False,False,False
+2,33.0,24.0,8.0,6.0,0.0,10.0,0.0,4.0,6.0,3.0,0.0,6.0,0.0,0.0,0.0,2.0,18.0,0.0,0.0,0.7273,0.2424,0.1818,0.0,4.0,4.9,0,0,23,76,500.0,120.0,2000.0,10.0,0.0,0.0,1,1,70.0,0.0,170,400.0,16,20,8.0,0,1,0,0,4.074074074074074,1.375,0.125,96.0,3030.0,126.25,0,False,False,False,False,False,False,True
+5,320.0,182.0,38.0,111.0,0.0,42.0,29.0,12.0,77.0,97.0,32.0,57.0,0.0,0.0,0.0,25.0,58.0,1.0,5.0,0.5687,0.1187,0.3469,0.0,7.0,9.4,0,0,18,61,4610.0,1890.0,1490.0,382.0,62.0,59.0,400,0,0.0,100.0,275,770.0,7,17,8.0,1,0,0,0,39.50617283950618,16.842105263157894,5.105263157894737,1274.0,9263.0,487.5263157894737,0,False,False,False,False,False,True,False
+12,227.0,136.0,69.0,10.0,0.0,9.0,0.0,10.0,50.0,54.0,34.0,68.0,1.0,0.0,0.0,23.0,33.0,1.0,2.0,0.5991,0.304,0.0441,0.0,8.0,9.6,0,0,36,336,9642.0,6225.2,8826.0,150.0,186.0,50.0,450,0,2168.0,0.0,142,807.5,6,16,8.0,1,0,0,0,28.024691358024693,6.135135135135135,1.4594594594594594,1088.0,25886.7,699.6405405405405,1,False,False,False,False,False,True,False
+3,193.0,88.0,53.0,34.0,0.0,8.0,2.0,0.0,51.0,15.0,5.0,0.0,1.0,0.0,0.0,6.0,0.0,7.0,0.0,0.456,0.2746,0.1762,0.0,5.0,8.0,0,0,1,0,0.0,0.0,20.0,480.0,4690.0,0.0,0,0,0.0,0.0,0,120.0,22,6,8.0,0,0,1,0,23.82716049382716,96.5,7.5,440.0,5310.0,2655.0,1,False,False,False,False,True,False,False
+3,309.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,309.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,4.84,0,0,34,186,4408.0,1380.0,3275.0,19.0,412.0,0.0,4,0,432.5,80.4,14,769.5,6,16,8.0,1,0,0,0,38.14814814814815,8.82857142857143,0.0,0.0,10263.5,293.24285714285713,0,False,False,False,False,False,True,False
+2,134.0,51.0,6.0,59.0,0.0,6.0,0.0,7.0,21.0,35.0,6.0,31.0,4.0,7.0,0.0,0.0,21.0,2.0,0.0,0.3806,0.0448,0.4403,0.0,7.0,6.44,0,0,8,24,960.0,1258.0,383.5,227.0,3196.5,0.0,0,0,30.0,0.0,0,186.0,15,20,8.0,0,1,0,0,16.543209876543212,14.88888888888889,3.888888888888889,357.0,6211.0,690.1111111111111,1,False,False,False,False,False,False,True
+5,300.0,108.0,51.0,30.0,0.0,26.0,9.0,0.0,109.0,30.0,12.0,9.0,0.0,0.0,0.0,14.0,17.0,2.0,0.0,0.36,0.17,0.1,0.0,6.0,7.7,0,0,2,2,900.0,1860.0,660.0,607.0,370.0,0.0,0,0,0.0,0.0,0,74.0,7,16,8.0,1,0,0,0,37.03703703703704,100.0,10.0,648.0,4471.0,1490.3333333333333,0,False,False,False,False,False,True,False
+2,34.0,28.0,5.0,4.0,0.0,1.0,0.0,1.0,2.0,3.0,14.0,3.0,0.0,0.0,0.0,3.0,13.0,0.0,0.0,0.8235,0.1471,0.1176,0.0,5.0,3.5,0,0,11,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,20,22,8.0,0,0,1,0,4.197530864197531,2.8333333333333335,0.25,140.0,0.0,0.0,0,False,False,False,False,False,False,True
+5,971.0,462.0,163.0,79.0,2.0,2.0,102.0,50.0,359.0,98.0,137.0,63.0,32.0,22.0,2.0,28.0,63.0,91.0,14.0,0.4758,0.1679,0.0814,0.0021,10.0,10.0,0,0,8,34,16651.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,14,21,8.0,0,1,0,0,119.87654320987654,107.88888888888889,10.88888888888889,4620.0,16651.0,1850.111111111111,1,False,True,False,False,False,False,False
+3,181.0,111.0,41.0,61.0,0.0,6.0,2.0,22.0,35.0,40.0,5.0,0.0,0.0,1.0,0.0,3.0,1.0,7.0,0.0,0.6133,0.2265,0.337,0.0,6.0,8.2,0,0,1,0,10000.0,14110.0,0.0,568.0,41048.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,22.34567901234568,90.5,20.0,666.0,65726.0,32863.0,1,False,True,False,False,False,False,False
+2,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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,30,22,43000.0,900.0,7080.0,2585.0,40.0,4.0,4,0,3520.0,1060.0,200,1170.0,16,19,8.0,0,1,0,0,0.0,0.0,0.0,0.0,54779.0,1767.0645161290322,0,False,False,False,False,False,False,True
+7,471.0,322.0,62.0,68.0,0.0,36.0,0.0,25.0,56.0,124.0,148.0,27.0,1.0,0.0,0.0,37.0,86.0,10.0,0.0,0.6837,0.1316,0.1444,0.0,7.0,7.4,0,0,12,57,18000.0,1675.0,11994.0,1760.0,20461.0,150.0,0,0,3470.0,3666.0,535,5116.0,6,16,8.0,1,0,0,0,58.14814814814815,36.23076923076923,9.538461538461538,2254.0,59156.0,4550.461538461538,1,False,False,False,False,False,True,False
+3,309.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,309.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,4.84,0,0,34,186,4408.0,1380.0,3275.0,19.0,412.0,0.0,4,0,432.5,80.4,14,769.5,13,21,8.0,0,1,0,0,38.14814814814815,8.82857142857143,0.0,0.0,10263.5,293.24285714285713,0,False,True,False,False,False,False,False
+1,7.0,4.0,2.0,2.0,0.0,1.0,0.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.0,0.0,0.5714,0.2857,0.2857,0.0,1.0,1.27,0,0,1,0,0.0,0.0,0.0,0.0,300.0,0.0,0,0,0.0,200.0,0,250.0,7,17,8.0,1,0,0,0,0.8641975308641976,3.5,0.0,4.0,550.0,275.0,0,False,False,False,False,False,True,False
+3,173.0,117.0,12.0,5.0,0.0,9.0,1.0,14.0,39.0,13.0,35.0,31.0,0.0,0.0,0.0,5.0,40.0,0.0,0.0,0.6763,0.0694,0.0289,0.0,5.0,9.0,0,0,30,104,7200.0,1600.0,1930.0,82.0,568.0,65.0,5,600,50.0,2114.0,23,394.0,13,21,8.0,0,1,0,0,21.358024691358025,5.580645161290323,0.41935483870967744,585.0,11839.0,381.9032258064516,0,False,True,False,False,False,False,False
+5,133.0,88.0,25.0,33.0,0.0,10.0,0.0,13.0,23.0,14.0,51.0,15.0,0.0,0.0,0.0,4.0,58.0,0.0,0.0,0.6617,0.188,0.2481,0.0,5.0,9.0,0,0,32,124,400.0,230.0,5637.0,214.0,15.0,0.0,5,350,720.0,0.0,0,15.0,16,18,8.0,0,1,0,0,16.419753086419753,4.03030303030303,0.42424242424242425,440.0,6511.0,197.3030303030303,0,False,False,False,False,False,False,True
+2,339.0,196.0,33.0,23.0,2.0,29.0,20.0,40.0,88.0,62.0,46.0,8.0,1.0,0.0,0.0,8.0,25.0,31.0,0.0,0.5782,0.0973,0.0678,0.0059,7.0,9.4,0,0,4,0,1940.0,2160.0,520.0,12650.0,11550.0,0.0,0,0,30.0,0.0,146,0.0,13,21,8.0,0,1,0,0,41.851851851851855,67.8,12.4,1372.0,28820.0,5764.0,1,False,True,False,False,False,False,False
+2,158.0,94.0,38.0,36.0,0.0,16.0,7.0,7.0,26.0,36.0,37.0,8.0,0.0,0.0,0.0,9.0,22.0,25.0,0.0,0.5949,0.2405,0.2278,0.0,6.0,9.2,0,0,10,26,220.0,470.0,1960.0,580.0,6006.0,0.0,110,0,1141.0,1514.0,0,941.0,16,20,8.0,0,1,0,0,19.506172839506174,14.363636363636363,3.272727272727273,564.0,10177.0,925.1818181818181,0,False,False,False,False,False,False,True
+2,65.0,34.0,6.0,24.0,0.0,13.0,15.0,0.0,10.0,17.0,0.0,2.0,0.0,0.0,0.0,2.0,2.0,5.0,0.0,0.5231,0.0923,0.3692,0.0,5.0,6.61,0,0,1,0,5419.5,48.0,265.0,32.0,324.5,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,8.024691358024691,32.5,8.5,170.0,6089.0,3044.5,0,False,False,False,False,False,True,False
+1,19.0,12.0,1.0,2.0,0.0,4.0,0.0,1.0,1.0,4.0,0.0,0.0,0.0,0.0,0.0,2.0,1.0,4.0,0.0,0.6316,0.0526,0.1053,0.0,4.0,2.54,0,0,3,0,0.0,0.0,0.0,20.0,200.0,0.0,0,0,0.0,0.0,0,0.0,6,10,8.0,1,0,0,0,2.345679012345679,4.75,1.0,48.0,220.0,55.0,0,False,False,False,False,False,False,True
+1,153.0,101.0,24.0,41.0,0.0,25.0,1.0,11.0,20.0,73.0,47.0,9.0,0.0,0.0,0.0,3.0,46.0,0.0,1.0,0.6601,0.1569,0.268,0.0,6.0,8.2,0,0,22,232,0.0,0.0,6030.0,40.0,0.0,0.0,0,0,0.0,0.0,0,200.0,6,16,8.0,1,0,0,0,18.88888888888889,6.6521739130434785,3.1739130434782608,606.0,6270.0,272.60869565217394,0,False,False,False,False,False,True,False
+1,20.0,11.0,5.0,0.0,0.0,2.0,0.0,1.0,5.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,0.55,0.25,0.0,0.0,2.0,1.56,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,9,21,8.0,1,0,0,0,2.469135802469136,10.0,2.0,22.0,0.0,0.0,0,False,False,False,False,False,True,False
+2,80.0,56.0,14.0,11.0,3.0,2.0,0.0,1.0,13.0,25.0,23.0,11.0,0.0,0.0,0.0,5.0,11.0,8.0,0.0,0.7,0.175,0.1375,0.0375,6.0,5.59,0,0,9,22,1000.0,654.4,607.0,330.0,8.0,0.0,30,0,0.0,0.0,1050,0.0,7,17,8.0,1,0,0,0,9.876543209876544,8.0,2.5,336.0,2599.4,259.94,0,False,False,False,False,False,True,False
+5,971.0,462.0,163.0,79.0,2.0,2.0,102.0,50.0,359.0,98.0,137.0,63.0,32.0,22.0,2.0,28.0,63.0,91.0,14.0,0.4758,0.1679,0.0814,0.0021,10.0,10.0,0,0,8,34,16651.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,119.87654320987654,107.88888888888889,10.88888888888889,4620.0,16651.0,1850.111111111111,1,False,False,False,True,False,False,False
+3,228.0,128.0,63.0,13.0,0.0,6.0,1.0,11.0,62.0,17.0,0.0,3.0,0.0,4.0,0.0,30.0,1.0,9.0,0.0,0.5614,0.2763,0.057,0.0,6.0,9.2,0,0,10,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,28.14814814814815,20.727272727272727,1.5454545454545454,768.0,0.0,0.0,1,False,True,False,False,False,False,False
+3,178.0,127.0,21.0,8.0,1.0,6.0,1.0,19.0,23.0,12.0,14.0,48.0,0.0,0.0,0.0,9.0,58.0,0.0,1.0,0.7135,0.118,0.0449,0.0056,6.0,9.2,0,0,40,206,5286.0,982.5,3428.0,20.0,300.0,0.0,3,1162,1412.0,1500.0,18,840.0,6,16,8.0,1,0,0,0,21.97530864197531,4.341463414634147,0.2926829268292683,762.0,10856.5,264.7926829268293,0,False,False,False,False,False,True,False
+3,144.0,67.0,17.0,35.0,0.0,24.0,2.0,6.0,20.0,27.0,7.0,0.0,0.0,0.0,0.0,6.0,7.0,4.0,0.0,0.4653,0.1181,0.2431,0.0,5.0,8.67,0,0,5,4,3201.0,0.0,143.0,121.0,6271.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,17.77777777777778,24.0,4.5,335.0,9736.0,1622.6666666666667,0,False,False,False,False,False,True,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,5,0,0.0,30.0,0.0,60.0,4000.0,0.0,0,0,0.0,0.0,0,1000.0,7,17,8.0,1,0,0,0,0.0,0.0,0.0,0.0,5090.0,848.3333333333334,0,False,False,False,False,False,True,False
+3,181.0,121.0,10.0,24.0,0.0,21.0,0.0,14.0,25.0,14.0,50.0,21.0,0.0,0.0,0.0,10.0,28.0,0.0,0.0,0.6685,0.0552,0.1326,0.0,5.0,9.0,0,0,28,260,1500.0,240.0,3880.0,20.0,120.0,2.0,2,0,0.0,0.0,32,10.0,13,21,8.0,0,1,0,0,22.34567901234568,6.241379310344827,0.4827586206896552,605.0,5772.0,199.0344827586207,0,False,True,False,False,False,False,False
+1,8.0,6.0,1.0,0.0,0.0,2.0,0.0,1.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.75,0.125,0.0,0.0,2.0,0.91,0,0,1,0,0.0,30.0,20.0,5.0,120.0,0.0,0,0,15.0,30.0,0,100.0,6,8,8.0,1,0,0,0,0.9876543209876544,4.0,1.0,12.0,275.0,137.5,0,False,False,False,False,False,False,True
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,0.0,0.0,60.0,200.0,0.0,0,0,0.0,0.0,0,50.0,7,11,8.0,1,0,0,0,0.0,0.0,0.0,0.0,310.0,155.0,0,False,False,False,False,False,False,True
+5,133.0,88.0,25.0,33.0,0.0,10.0,0.0,13.0,23.0,14.0,51.0,15.0,0.0,0.0,0.0,4.0,58.0,0.0,0.0,0.6617,0.188,0.2481,0.0,5.0,9.0,0,0,32,124,400.0,230.0,5637.0,214.0,15.0,0.0,5,350,720.0,0.0,0,15.0,6,10,8.0,1,0,0,0,16.419753086419753,4.03030303030303,0.42424242424242425,440.0,6511.0,197.3030303030303,0,False,False,False,False,False,False,True
+3,65.0,47.0,21.0,15.0,8.0,6.0,0.0,1.0,7.0,24.0,19.0,10.0,11.0,3.0,1.0,4.0,8.0,2.0,4.0,0.7231,0.3231,0.2308,0.1231,10.0,9.91,0,0,7,24,0.0,0.0,0.0,216.0,4225.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,8.024691358024691,8.125,3.0,470.0,4441.0,555.125,1,False,True,False,False,False,False,False
+1,56.0,38.0,16.0,9.0,0.0,6.0,0.0,3.0,9.0,17.0,8.0,9.0,0.0,0.0,0.0,0.0,15.0,16.0,0.0,0.6786,0.2857,0.1607,0.0,5.0,5.1,0,0,5,10,0.0,0.0,140.0,125.0,850.0,0.0,0,0,300.0,0.0,0,190.0,6,16,8.0,1,0,0,0,6.913580246913581,9.333333333333334,2.8333333333333335,190.0,1305.0,217.5,0,False,False,False,False,False,True,False
+3,239.0,99.0,50.0,44.0,0.0,13.0,1.0,19.0,39.0,8.0,73.0,60.0,0.0,0.0,0.0,8.0,18.0,1.0,1.0,0.4142,0.2092,0.1841,0.0,7.0,9.4,0,0,24,90,3599.0,1089.0,1829.0,111.0,1610.0,1240.0,2,0,543.0,0.0,91,874.0,13,21,8.0,0,1,0,0,29.506172839506174,9.56,0.32,693.0,10352.0,414.08,0,False,True,False,False,False,False,False
+2,65.0,34.0,6.0,24.0,0.0,13.0,15.0,0.0,10.0,17.0,0.0,2.0,0.0,0.0,0.0,2.0,2.0,5.0,0.0,0.5231,0.0923,0.3692,0.0,5.0,6.61,0,0,1,0,5419.5,48.0,265.0,32.0,324.5,0.0,0,0,0.0,0.0,0,0.0,12,20,8.0,0,1,0,0,8.024691358024691,32.5,8.5,170.0,6089.0,3044.5,0,False,True,False,False,False,False,False
+6,441.0,258.0,145.0,134.0,65.0,75.0,62.0,57.0,45.0,89.0,90.0,5.0,41.0,25.0,30.0,4.0,12.0,39.0,16.0,0.585,0.3288,0.3039,0.1474,10.0,10.0,0,0,10,18,1700.0,0.0,2600.0,348.0,6825.0,0.0,70,0,9176.0,89.0,25,894.0,6,14,8.0,1,0,0,0,54.44444444444445,40.09090909090909,8.090909090909092,2580.0,12367.0,1124.2727272727273,1,False,False,False,True,False,False,False
+3,22.0,14.0,5.0,4.0,0.0,0.0,0.0,1.0,7.0,4.0,0.0,2.0,0.0,0.0,0.0,1.0,7.0,0.0,0.0,0.6364,0.2273,0.1818,0.0,4.0,2.6,0,0,3,4,1400.0,2000.0,2000.0,135.0,50.0,0.0,0,0,0.0,1600.0,0,2152.0,6,16,8.0,1,0,0,0,2.7160493827160495,5.5,1.0,56.0,7737.0,1934.25,0,False,False,False,False,False,True,False
+2,45.0,19.0,3.0,10.0,0.0,4.0,0.0,2.0,10.0,5.0,0.0,4.0,2.0,0.0,0.0,0.0,0.0,9.0,0.0,0.4222,0.0667,0.2222,0.0,4.0,4.87,0,0,3,0,0.0,0.0,0.0,0.0,470.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,5.555555555555555,11.25,1.25,76.0,470.0,117.5,1,False,True,False,False,False,False,False
+4,77.0,58.0,26.0,0.0,0.0,2.0,0.0,3.0,14.0,7.0,0.0,26.0,0.0,0.0,0.0,4.0,29.0,0.0,0.0,0.7532,0.3377,0.0,0.0,4.0,5.99,0,0,36,265,14322.0,20012.0,3970.0,175.0,880.0,20.0,2,1322,3122.0,3900.0,39,600.0,13,21,8.0,0,1,0,0,9.506172839506172,2.081081081081081,0.1891891891891892,232.0,39979.0,1080.5135135135135,0,False,True,False,False,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,0,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,80.0,0.0,0.0,10.0,260.0,0.0,0,0,0.0,0.0,0,50.0,17,19,8.0,0,1,0,0,0.0,0.0,0.0,0.0,400.0,200.0,0,False,False,False,False,False,False,True
+7,471.0,322.0,62.0,68.0,0.0,36.0,0.0,25.0,56.0,124.0,148.0,27.0,1.0,0.0,0.0,37.0,86.0,10.0,0.0,0.6837,0.1316,0.1444,0.0,7.0,7.4,0,0,12,57,18000.0,1675.0,11994.0,1760.0,20461.0,150.0,0,0,3470.0,3666.0,535,5116.0,6,15,8.0,1,0,0,0,58.14814814814815,36.23076923076923,9.538461538461538,2254.0,59156.0,4550.461538461538,1,False,False,False,False,False,True,False
+5,248.0,141.0,27.0,46.0,0.0,18.0,0.0,8.0,43.0,84.0,48.0,23.0,0.0,0.0,0.0,1.0,26.0,0.0,0.0,0.5685,0.1089,0.1855,0.0,5.0,9.0,0,0,6,0,0.0,200.0,900.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,6,15,8.0,1,0,0,0,30.617283950617285,35.42857142857143,12.0,705.0,1120.0,160.0,0,False,False,False,True,False,False,False
+4,399.0,114.0,75.0,69.0,0.0,24.0,5.0,0.0,184.0,37.0,9.0,0.0,2.0,0.0,0.0,2.0,0.0,10.0,1.0,0.2857,0.188,0.1729,0.0,6.0,7.2,0,0,1,0,0.0,0.0,0.0,270.0,0.0,0.0,0,0,1060.0,0.0,0,91.0,7,16,8.0,1,0,0,0,49.25925925925926,199.5,18.5,684.0,361.0,180.5,1,False,False,False,False,False,True,False
+8,296.0,130.0,14.0,18.0,0.0,8.0,29.0,3.0,156.0,119.0,1.0,5.0,0.0,0.0,0.0,15.0,4.0,1.0,0.0,0.4392,0.0473,0.0608,0.0,6.0,9.2,0,0,20,89,500.0,150.0,480.0,540.0,15.0,690.0,0,0,900.0,450.0,0,720.0,7,11,8.0,1,0,0,0,36.54320987654321,14.095238095238095,5.666666666666667,780.0,3095.0,147.38095238095238,0,False,False,True,False,False,False,False
+1,4.0,3.0,4.0,1.0,0.0,2.0,4.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.75,1.0,0.25,0.0,4.0,1.16,0,0,1,0,0.0,0.0,0.0,0.0,165.0,0.0,0,0,0.0,0.0,0,30.0,11,13,8.0,1,0,0,0,0.4938271604938272,2.0,0.5,12.0,195.0,97.5,0,False,False,False,False,False,False,True
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,13,21,8.0,0,1,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,True,False,False,False,False,False
+1,38.0,33.0,17.0,4.0,0.0,5.0,0.0,1.0,1.0,13.0,2.0,3.0,0.0,0.0,0.0,6.0,5.0,10.0,0.0,0.8684,0.4474,0.1053,0.0,6.0,6.64,0,0,1,0,0.0,0.0,0.0,0.0,50.0,0.0,0,0,0.0,0.0,0,10.0,15,17,8.0,0,1,0,0,4.691358024691358,19.0,6.5,198.0,60.0,30.0,0,False,False,False,False,False,False,True
+5,248.0,141.0,27.0,46.0,0.0,18.0,0.0,8.0,43.0,84.0,48.0,23.0,0.0,0.0,0.0,1.0,26.0,0.0,0.0,0.5685,0.1089,0.1855,0.0,5.0,9.0,0,0,6,0,0.0,200.0,900.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,7,16,8.0,1,0,0,0,30.617283950617285,35.42857142857143,12.0,705.0,1120.0,160.0,0,False,False,False,False,False,True,False
+3,50.0,30.0,6.0,11.0,0.0,13.0,0.0,0.0,4.0,15.0,2.0,12.0,0.0,0.0,0.0,2.0,13.0,0.0,0.0,0.6,0.12,0.22,0.0,5.0,4.56,0,0,9,26,6300.0,4815.0,910.0,40.0,100.0,1280.0,1,0,0.0,1630.0,0,0.0,6,15,8.0,1,0,0,0,6.172839506172839,5.0,1.5,150.0,13445.0,1344.5,0,False,False,False,False,False,True,False
+3,309.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,309.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,4.84,0,0,34,186,4408.0,1380.0,3275.0,19.0,412.0,0.0,4,0,432.5,80.4,14,769.5,7,17,8.0,1,0,0,0,38.14814814814815,8.82857142857143,0.0,0.0,10263.5,293.24285714285713,0,False,False,False,False,False,True,False
+3,546.0,381.0,46.0,43.0,0.0,27.0,14.0,62.0,85.0,44.0,208.0,51.0,0.0,0.0,0.0,25.0,199.0,5.0,0.0,0.6978,0.0842,0.0788,0.0,6.0,9.2,0,0,37,324,3000.0,5400.0,21480.0,24.0,50.0,15.0,0,0,0.0,0.0,8,352.0,13,21,8.0,0,1,0,0,67.4074074074074,14.368421052631579,1.1578947368421053,2286.0,30321.0,797.921052631579,0,False,True,False,False,False,False,False
+2,145.0,98.0,25.0,42.0,4.0,28.0,5.0,10.0,10.0,48.0,33.0,1.0,22.0,3.0,6.0,11.0,21.0,2.0,4.0,0.6759,0.1724,0.2897,0.0276,10.0,9.0,0,0,12,33,0.0,100.0,2540.0,790.0,2215.0,0.0,2,0,220.0,308.0,0,1005.0,6,18,8.0,1,0,0,0,17.901234567901234,11.153846153846153,3.6923076923076925,980.0,6650.0,511.53846153846155,1,False,False,False,False,False,True,False
+3,331.0,130.0,53.0,55.0,7.0,14.0,4.0,20.0,98.0,70.0,5.0,68.0,0.0,0.0,0.0,5.0,24.0,9.0,2.0,0.3927,0.1601,0.1662,0.0211,7.0,9.4,0,0,10,14,6500.0,12400.0,220.0,1616.0,350.0,0.0,11,40,365.0,820.0,2000,500.0,7,16,8.0,1,0,0,0,40.864197530864196,30.09090909090909,6.363636363636363,910.0,21586.0,1962.3636363636363,0,False,False,False,False,False,True,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,0.0,0.0,60.0,300.0,0.0,0,0,0.0,0.0,0,70.0,15,17,8.0,0,1,0,0,0.0,0.0,0.0,0.0,430.0,215.0,0,False,False,False,False,False,False,True
+1,7.0,5.0,4.0,1.0,0.0,2.0,4.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.7143,0.5714,0.1429,0.0,4.0,1.3,0,0,1,0,0.0,0.0,0.0,12.0,50.0,0.0,0,0,0.0,0.0,0,20.0,17,19,8.0,0,1,0,0,0.8641975308641976,3.5,0.5,20.0,82.0,41.0,0,False,False,False,False,False,False,True
+6,772.0,427.0,96.0,199.0,0.0,99.0,44.0,27.0,106.0,256.0,34.0,72.0,0.0,0.0,2.0,26.0,36.0,20.0,2.0,0.5531,0.1244,0.2578,0.0,8.0,9.6,0,0,30,135,6800.0,1217.0,541.0,671.0,30.0,2226.0,5,450,0.0,2440.0,650,25.0,0,0,8.0,0,0,0,1,95.30864197530865,24.903225806451612,8.258064516129032,3416.0,11510.0,371.2903225806452,1,False,True,False,False,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,16,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,True,False
+1,42.0,25.0,8.0,7.0,0.0,4.0,0.0,2.0,7.0,12.0,13.0,0.0,0.0,0.0,0.0,3.0,4.0,9.0,0.0,0.5952,0.1905,0.1667,0.0,5.0,3.85,0,0,5,0,210.0,0.0,272.0,58.0,0.0,520.0,0,0,315.0,72.0,0,30.0,5,16,8.0,0,0,0,1,5.185185185185185,7.0,2.0,125.0,1090.0,181.66666666666666,0,False,False,False,False,False,True,False
+2,45.0,19.0,3.0,10.0,0.0,4.0,0.0,2.0,10.0,5.0,0.0,4.0,2.0,0.0,0.0,0.0,0.0,9.0,0.0,0.4222,0.0667,0.2222,0.0,4.0,4.87,0,0,3,0,0.0,0.0,0.0,0.0,470.0,0.0,0,0,0.0,0.0,0,0.0,5,13,8.0,0,0,0,1,5.555555555555555,11.25,1.25,76.0,470.0,117.5,1,False,False,False,True,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,6,9,0.0,78.0,480.0,263.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,0.0,0.0,0.0,0.0,821.0,117.28571428571429,0,False,False,False,False,False,True,False
+7,471.0,322.0,62.0,68.0,0.0,36.0,0.0,25.0,56.0,124.0,148.0,27.0,1.0,0.0,0.0,37.0,86.0,10.0,0.0,0.6837,0.1316,0.1444,0.0,7.0,7.4,0,0,12,57,18000.0,1675.0,11994.0,1760.0,20461.0,150.0,0,0,3470.0,3666.0,535,5116.0,6,16,8.0,1,0,0,0,58.14814814814815,36.23076923076923,9.538461538461538,2254.0,59156.0,4550.461538461538,1,False,False,False,False,False,True,False
+3,22.0,14.0,5.0,4.0,0.0,0.0,0.0,1.0,7.0,4.0,0.0,2.0,0.0,0.0,0.0,1.0,7.0,0.0,0.0,0.6364,0.2273,0.1818,0.0,4.0,2.6,0,0,3,4,1400.0,2000.0,2000.0,135.0,50.0,0.0,0,0,0.0,1600.0,0,2152.0,6,14,8.0,1,0,0,0,2.7160493827160495,5.5,1.0,56.0,7737.0,1934.25,0,False,False,False,True,False,False,False
+6,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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.06,0,0,32,305,3800.0,2950.0,7290.0,856.0,32110.0,2320.0,2,250,7750.0,2915.0,44,1850.0,6,16,8.0,1,0,0,0,0.1234567901234568,0.030303030303030304,0.0,0.0,51176.0,1550.7878787878788,0,False,False,False,False,False,True,False
+3,391.0,251.0,94.0,100.0,0.0,23.0,0.0,24.0,56.0,102.0,60.0,34.0,0.0,0.0,0.0,15.0,79.0,77.0,1.0,0.6419,0.2404,0.2558,0.0,7.0,9.4,0,0,20,0,6000.0,2900.0,1620.0,142.0,80.0,18.0,2,0,0.0,0.0,0,60.0,13,21,8.0,0,1,0,0,48.27160493827161,18.61904761904762,4.857142857142857,1757.0,10820.0,515.2380952380952,0,False,True,False,False,False,False,False
+5,248.0,141.0,27.0,46.0,0.0,18.0,0.0,8.0,43.0,84.0,48.0,23.0,0.0,0.0,0.0,1.0,26.0,0.0,0.0,0.5685,0.1089,0.1855,0.0,5.0,9.0,0,0,6,0,0.0,200.0,900.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,6,15,8.0,1,0,0,0,30.617283950617285,35.42857142857143,12.0,705.0,1120.0,160.0,0,False,False,False,True,False,False,False
+4,593.0,334.0,95.0,68.0,16.0,24.0,2.0,66.0,139.0,55.0,76.0,26.0,64.0,6.0,16.0,4.0,49.0,64.0,22.0,0.5632,0.1602,0.1147,0.027,10.0,10.0,0,0,15,24,0.0,430.0,3230.0,150.0,24030.0,0.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,73.20987654320987,37.0625,3.4375,3340.0,27840.0,1740.0,1,False,False,False,True,False,False,False
+2,111.0,52.0,14.0,3.0,0.0,4.0,1.0,16.0,46.0,18.0,9.0,21.0,0.0,0.0,0.0,3.0,15.0,3.0,1.0,0.4685,0.1261,0.027,0.0,7.0,9.4,0,0,19,129,0.0,380.0,1935.0,55.0,0.0,62.2,4,164,406.0,1969.0,13,100.0,13,21,8.0,0,1,0,0,13.703703703703704,5.55,0.9,364.0,2532.2,126.60999999999999,0,False,True,False,False,False,False,False
+4,384.0,172.0,41.0,72.0,8.0,43.0,8.0,10.0,110.0,84.0,52.0,16.0,0.0,0.0,0.0,54.0,55.0,2.0,0.0,0.4479,0.1068,0.1875,0.0208,6.0,9.2,0,0,13,20,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,6,18,8.0,1,0,0,0,47.40740740740741,27.428571428571427,6.0,1032.0,20.0,1.4285714285714286,0,False,False,False,False,False,True,False
+3,45.0,15.0,6.0,10.0,0.0,8.0,0.0,4.0,7.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,27.0,0.0,0.3333,0.1333,0.2222,0.0,1.0,4.36,0,0,3,0,0.0,120.0,0.0,0.0,100.0,0.0,0,0,0.0,0.0,0,0.0,15,19,8.0,0,1,0,0,5.555555555555555,11.25,0.0,15.0,220.0,55.0,0,False,False,False,False,False,False,True
+6,772.0,427.0,96.0,199.0,0.0,99.0,44.0,27.0,106.0,256.0,34.0,72.0,0.0,0.0,2.0,26.0,36.0,20.0,2.0,0.5531,0.1244,0.2578,0.0,8.0,9.6,0,0,30,135,6800.0,1217.0,541.0,671.0,30.0,2226.0,5,450,0.0,2440.0,650,25.0,0,0,8.0,0,0,0,1,95.30864197530865,24.903225806451612,8.258064516129032,3416.0,11510.0,371.2903225806452,1,False,False,False,False,False,True,False
+3,181.0,121.0,10.0,24.0,0.0,21.0,0.0,14.0,25.0,14.0,50.0,21.0,0.0,0.0,0.0,10.0,28.0,0.0,0.0,0.6685,0.0552,0.1326,0.0,5.0,9.0,0,0,28,260,1500.0,240.0,3880.0,20.0,120.0,2.0,2,0,0.0,0.0,32,10.0,22,6,8.0,0,0,1,0,22.34567901234568,6.241379310344827,0.4827586206896552,605.0,5772.0,199.0344827586207,0,False,False,False,False,True,False,False
+3,130.0,83.0,33.0,49.0,0.0,6.0,7.0,17.0,22.0,43.0,3.0,0.0,0.0,1.0,0.0,2.0,0.0,6.0,0.0,0.6385,0.2538,0.3769,0.0,5.0,7.0,0,0,1,0,5000.0,8520.0,0.0,340.0,0.0,1519.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,16.049382716049383,65.0,21.5,415.0,15379.0,7689.5,1,False,True,False,False,False,False,False
+3,144.0,67.0,17.0,35.0,0.0,24.0,2.0,6.0,20.0,27.0,7.0,0.0,0.0,0.0,0.0,6.0,7.0,4.0,0.0,0.4653,0.1181,0.2431,0.0,5.0,8.67,0,0,5,4,3201.0,0.0,143.0,121.0,6271.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,17.77777777777778,24.0,4.5,335.0,9736.0,1622.6666666666667,0,False,False,False,False,False,True,False
+3,65.0,47.0,21.0,15.0,8.0,6.0,0.0,1.0,7.0,24.0,19.0,10.0,11.0,3.0,1.0,4.0,8.0,2.0,4.0,0.7231,0.3231,0.2308,0.1231,10.0,9.91,0,0,7,24,0.0,0.0,0.0,216.0,4225.0,0.0,0,0,0.0,0.0,0,0.0,5,15,8.0,0,0,0,1,8.024691358024691,8.125,3.0,470.0,4441.0,555.125,1,False,False,False,True,False,False,False
+4,170.0,82.0,23.0,34.0,0.0,10.0,14.0,16.0,35.0,50.0,8.0,10.0,0.0,0.0,0.0,10.0,20.0,0.0,1.0,0.4824,0.1353,0.2,0.0,6.0,9.2,0,0,11,54,2000.0,3118.36,833.89,5856.6,700.0,4207.39,1000,100,10.0,0.0,500,2400.0,7,16,8.0,1,0,0,0,20.987654320987655,14.166666666666666,4.166666666666667,492.0,19116.24,1593.0200000000002,0,False,False,False,False,False,True,False
+5,775.0,445.0,140.0,156.0,0.0,116.0,64.0,42.0,184.0,236.0,25.0,0.0,0.0,0.0,0.0,37.0,17.0,11.0,20.0,0.5742,0.1806,0.2013,0.0,6.0,9.2,0,0,49,0,10000.0,0.0,150.0,0.0,1000.0,41.0,3,0,0.0,0.0,15,80.0,13,22,8.0,0,1,0,0,95.67901234567901,15.5,4.72,2670.0,11271.0,225.42,0,False,True,False,False,False,False,False
+6,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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.06,0,0,32,305,3800.0,2950.0,7290.0,856.0,32110.0,2320.0,2,250,7750.0,2915.0,44,1850.0,6,14,8.0,1,0,0,0,0.1234567901234568,0.030303030303030304,0.0,0.0,51176.0,1550.7878787878788,0,False,False,False,True,False,False,False
+3,68.0,41.0,6.0,13.0,0.0,3.0,0.0,10.0,15.0,12.0,10.0,20.0,0.0,0.0,0.0,4.0,14.0,0.0,1.0,0.6029,0.0882,0.1912,0.0,6.0,5.75,0,0,15,0,1000.0,300.0,12500.0,780.0,0.0,10.0,10,1000,0.0,0.0,0,0.0,6,15,8.0,1,0,0,0,8.395061728395062,4.25,0.75,246.0,14590.0,911.875,0,False,False,False,False,False,True,False
+7,199.0,114.0,30.0,46.0,0.0,33.0,0.0,17.0,32.0,69.0,43.0,26.0,0.0,0.0,0.0,17.0,51.0,14.0,0.0,0.5729,0.1508,0.2312,0.0,6.0,9.2,0,0,17,39,16717.42,3102.0,11845.88,2224.0,4105.0,1526.0,4,2,2436.0,86.8,125,1916.0,16,20,8.0,0,1,0,0,24.567901234567902,11.055555555555555,3.8333333333333335,684.0,41436.299999999996,2302.0166666666664,0,False,False,False,False,False,False,True
+3,333.0,243.0,27.0,68.0,0.0,22.0,0.0,12.0,44.0,120.0,67.0,23.0,0.0,0.0,0.0,18.0,53.0,27.0,10.0,0.7297,0.0811,0.2042,0.0,7.0,9.4,0,0,16,24,1000.0,350.0,1010.0,330.0,0.0,7.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,41.111111111111114,19.58823529411765,7.0588235294117645,1701.0,2697.0,158.64705882352942,0,False,False,False,False,False,True,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,5,0,8.0,0,0,0,1,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,0.0,0.0,3.0,20.0,0.0,0,0,0.0,0.0,0,20.0,0,0,8.0,0,0,0,1,0.0,0.0,0.0,0.0,43.0,21.5,0,False,False,False,False,False,False,False
+3,39.0,26.0,6.0,9.0,0.0,0.0,0.0,1.0,3.0,0.0,8.0,2.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.6667,0.1538,0.2308,0.0,3.0,5.36,0,0,5,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,15,19,8.0,0,1,0,0,4.814814814814815,6.5,0.0,78.0,0.0,0.0,0,False,False,False,False,False,False,True
+2,33.0,18.0,2.0,4.0,0.0,3.0,0.0,1.0,8.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,6.0,0.0,0.5455,0.0606,0.1212,0.0,4.0,2.89,0,0,1,0,0.0,0.0,0.0,0.0,0.0,1200.0,0,0,0.0,0.0,0,300.0,6,16,8.0,1,0,0,0,4.074074074074074,16.5,0.5,72.0,1500.0,750.0,1,False,False,False,False,False,True,False
+2,273.0,163.0,17.0,1.0,0.0,9.0,0.0,65.0,60.0,16.0,87.0,17.0,0.0,0.0,0.0,1.0,83.0,1.0,1.0,0.5971,0.0623,0.0037,0.0,7.0,9.4,0,0,37,216,1840.0,1890.0,5646.0,60.0,430.0,22.0,510,0,1344.0,0.0,0,0.0,13,21,8.0,0,1,0,0,33.7037037037037,7.184210526315789,0.42105263157894735,1141.0,9888.0,260.2105263157895,0,False,True,False,False,False,False,False
+3,244.0,182.0,52.0,49.0,0.0,59.0,0.0,17.0,35.0,69.0,41.0,17.0,0.0,0.0,0.0,17.0,37.0,26.0,8.0,0.7459,0.2131,0.2008,0.0,7.0,9.4,0,0,22,120,350.0,2650.0,300.0,90.0,500.0,4450.0,3,0,0.0,0.0,18,8.0,7,16,8.0,1,0,0,0,30.12345679012346,10.608695652173912,3.0,1274.0,8348.0,362.95652173913044,0,False,False,False,False,False,True,False
+5,775.0,445.0,140.0,156.0,0.0,116.0,64.0,42.0,184.0,236.0,25.0,0.0,0.0,0.0,0.0,37.0,17.0,11.0,20.0,0.5742,0.1806,0.2013,0.0,6.0,9.2,0,0,49,0,10000.0,0.0,150.0,0.0,1000.0,41.0,3,0,0.0,0.0,15,80.0,6,14,8.0,1,0,0,0,95.67901234567901,15.5,4.72,2670.0,11271.0,225.42,0,False,False,False,True,False,False,False
+5,320.0,182.0,38.0,111.0,0.0,42.0,29.0,12.0,77.0,97.0,32.0,57.0,0.0,0.0,0.0,25.0,58.0,1.0,5.0,0.5687,0.1187,0.3469,0.0,7.0,9.4,0,0,18,61,4610.0,1890.0,1490.0,382.0,62.0,59.0,400,0,0.0,100.0,275,770.0,6,14,8.0,1,0,0,0,39.50617283950618,16.842105263157894,5.105263157894737,1274.0,9263.0,487.5263157894737,0,False,False,False,True,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,20.0,0.0,0.0,30.0,270.0,0.0,0,0,0.0,0.0,0,50.0,0,0,8.0,0,0,0,1,0.0,0.0,0.0,0.0,370.0,185.0,0,False,False,False,False,False,False,False
+1,38.0,33.0,17.0,4.0,0.0,5.0,0.0,1.0,1.0,13.0,2.0,3.0,0.0,0.0,0.0,6.0,5.0,10.0,0.0,0.8684,0.4474,0.1053,0.0,6.0,6.64,0,0,1,0,30.0,0.0,0.0,0.0,80.0,0.0,0,0,0.0,0.0,0,10.0,6,8,8.0,1,0,0,0,4.691358024691358,19.0,6.5,198.0,120.0,60.0,0,False,False,False,False,False,False,True
+1,34.0,17.0,3.0,7.0,0.0,4.0,0.0,0.0,9.0,10.0,2.0,6.0,0.0,0.0,0.0,6.0,4.0,4.0,0.0,0.5,0.0882,0.2059,0.0,6.0,3.55,0,0,2,0,1200.0,450.0,150.0,50.0,350.0,0.0,0,0,0.0,0.0,50,70.0,6,16,8.0,1,0,0,0,4.197530864197531,11.333333333333334,3.3333333333333335,102.0,2270.0,756.6666666666666,0,False,False,False,False,False,True,False
+1,761.0,413.0,64.0,173.0,0.0,182.0,78.0,16.0,107.0,240.0,66.0,74.0,0.0,0.0,0.0,12.0,38.0,24.0,1.0,0.5427,0.0841,0.2273,0.0,7.0,9.4,0,0,7,28,700.0,600.0,1000.0,200.0,1000.0,600.0,0,0,0.0,0.0,0,350.0,6,16,8.0,1,0,0,0,93.95061728395062,95.125,30.0,2891.0,4450.0,556.25,0,False,False,False,False,False,True,False
+3,68.0,44.0,19.0,15.0,0.0,5.0,17.0,5.0,10.0,23.0,3.0,1.0,0.0,0.0,0.0,0.0,2.0,9.0,0.0,0.6471,0.2794,0.2206,0.0,5.0,6.25,0,0,1,0,1000.0,6510.0,0.0,138.0,0.0,108.0,0,0,0.0,0.0,0,0.0,0,0,8.0,0,0,0,1,8.395061728395062,34.0,11.5,220.0,7756.0,3878.0,0,False,False,False,False,False,True,False
+4,125.0,58.0,10.0,18.0,0.0,17.0,0.0,7.0,27.0,20.0,11.0,6.0,0.0,0.0,0.0,10.0,7.0,1.0,0.0,0.464,0.08,0.144,0.0,6.0,7.71,0,0,1,3,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,15.4320987654321,62.5,10.0,348.0,0.0,0.0,0,False,True,False,False,False,False,False
+4,513.0,383.0,95.0,62.0,7.0,30.0,40.0,44.0,64.0,78.0,87.0,26.0,71.0,16.0,6.0,0.0,58.0,39.0,25.0,0.7466,0.1852,0.1209,0.0136,9.0,9.8,0,0,23,0,1930.0,1635.0,2026.0,580.0,7548.0,0.0,2,0,0.0,0.0,0,0.0,6,17,8.0,1,0,0,0,63.333333333333336,21.375,3.25,3447.0,13719.0,571.625,1,False,False,False,False,False,True,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,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,8.0,0,0,0,1,0.0,0.0,0.0,0.0,0.0,0.0,0,False,False,False,False,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,28,176,2600.0,700.0,8300.0,1280.0,600.0,1000.0,6,150,2200.0,0.0,31,2320.0,6,15,8.0,1,0,0,0,0.0,0.0,0.0,0.0,16800.0,579.3103448275862,0,False,False,False,False,False,True,False
+4,399.0,114.0,75.0,69.0,0.0,24.0,5.0,0.0,184.0,37.0,9.0,0.0,2.0,0.0,0.0,2.0,0.0,10.0,1.0,0.2857,0.188,0.1729,0.0,6.0,7.2,0,0,1,0,0.0,0.0,0.0,270.0,0.0,0.0,0,0,1060.0,0.0,0,91.0,21,6,8.0,0,0,1,0,49.25925925925926,199.5,18.5,684.0,361.0,180.5,1,False,False,False,False,True,False,False
+8,296.0,130.0,14.0,18.0,0.0,8.0,29.0,3.0,156.0,119.0,1.0,5.0,0.0,0.0,0.0,15.0,4.0,1.0,0.0,0.4392,0.0473,0.0608,0.0,6.0,9.2,0,0,20,89,500.0,150.0,480.0,540.0,15.0,690.0,0,0,900.0,450.0,0,720.0,8,12,8.0,1,0,0,0,36.54320987654321,14.095238095238095,5.666666666666667,780.0,3095.0,147.38095238095238,0,False,False,False,False,False,False,True
+3,546.0,381.0,46.0,43.0,0.0,27.0,14.0,62.0,85.0,44.0,208.0,51.0,0.0,0.0,0.0,25.0,199.0,5.0,0.0,0.6978,0.0842,0.0788,0.0,6.0,9.2,0,0,37,324,3000.0,5400.0,21480.0,24.0,50.0,15.0,0,0,0.0,0.0,8,352.0,6,16,8.0,1,0,0,0,67.4074074074074,14.368421052631579,1.1578947368421053,2286.0,30321.0,797.921052631579,0,False,False,False,False,False,True,False
+1,90.0,49.0,13.0,20.0,0.0,2.0,0.0,4.0,17.0,20.0,15.0,4.0,0.0,0.0,0.0,1.0,16.0,1.0,0.0,0.5444,0.1444,0.2222,0.0,6.0,8.21,0,0,7,24,0.0,0.0,916.0,177.0,325.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,11.11111111111111,11.25,2.5,294.0,1418.0,177.25,0,False,False,False,False,False,True,False
+4,77.0,58.0,26.0,0.0,0.0,2.0,0.0,3.0,14.0,7.0,0.0,26.0,0.0,0.0,0.0,4.0,29.0,0.0,0.0,0.7532,0.3377,0.0,0.0,4.0,5.99,0,0,36,265,14322.0,20012.0,3970.0,175.0,880.0,20.0,2,1322,3122.0,3900.0,39,600.0,6,14,8.0,1,0,0,0,9.506172839506172,2.081081081081081,0.1891891891891892,232.0,39979.0,1080.5135135135135,0,False,False,False,True,False,False,False
+2,20.0,6.0,2.0,5.0,1.0,3.0,0.0,0.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.3,0.1,0.25,0.05,1.0,1.43,0,0,0,0,0.0,50.0,0.0,0.0,7.0,10.0,0,0,0.0,0.0,0,70.0,8,16,8.0,1,0,0,0,2.469135802469136,20.0,0.0,6.0,137.0,137.0,0,False,False,False,False,False,True,False
+1,57.0,40.0,17.0,0.0,0.0,6.0,5.0,3.0,10.0,18.0,12.0,3.0,0.0,0.0,0.0,4.0,1.0,10.0,0.0,0.7018,0.2982,0.0,0.0,6.0,7.14,0,0,0,0,0.0,0.0,15.0,7.0,350.0,0.0,0,0,0.0,0.0,0,0.0,6,14,8.0,1,0,0,0,7.037037037037037,57.0,18.0,240.0,372.0,372.0,0,False,False,False,True,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,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,8.0,0,0,0,1,0.0,0.0,0.0,0.0,0.0,0.0,0,False,False,False,False,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,15,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,True,False,False,False
+2,38.0,24.0,4.0,8.0,0.0,4.0,0.0,1.0,6.0,13.0,11.0,2.0,0.0,0.0,0.0,4.0,5.0,4.0,0.0,0.6316,0.1053,0.2105,0.0,6.0,3.81,0,0,5,8,700.0,100.0,210.0,90.0,0.0,70.0,2,0,0.0,0.0,0,20.0,16,20,8.0,0,1,0,0,4.691358024691358,6.333333333333333,2.1666666666666665,144.0,1190.0,198.33333333333334,0,False,False,False,False,False,False,True
+2,605.0,428.0,40.0,6.0,0.0,10.0,0.0,56.0,106.0,66.0,38.0,106.0,0.0,0.0,0.0,30.0,178.0,7.0,0.0,0.7074,0.0661,0.0099,0.0,6.0,9.2,0,0,35,248,9950.0,8350.0,7890.0,150.0,700.0,8.0,6,0,0.0,0.0,0,900.0,6,14,8.0,1,0,0,0,74.69135802469137,16.805555555555557,1.8333333333333333,2568.0,27948.0,776.3333333333334,0,False,False,False,True,False,False,False
+3,149.0,106.0,31.0,48.0,0.0,10.0,0.0,13.0,15.0,42.0,19.0,20.0,0.0,0.0,0.0,24.0,42.0,1.0,0.0,0.7114,0.2081,0.3221,0.0,6.0,7.2,0,0,12,18,350.0,1200.0,190.0,270.0,90.0,0.0,2,0,1000.0,0.0,120,0.0,15,19,8.0,0,1,0,0,18.395061728395063,11.461538461538462,3.230769230769231,636.0,2100.0,161.53846153846155,0,False,False,False,False,False,False,True
+1,4.0,4.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,1.0,0.25,0.0,0.0,2.0,0.67,0,0,1,0,0.0,0.0,0.0,0.0,20.0,0.0,0,0,3.0,30.0,0,10.0,16,18,8.0,0,1,0,0,0.4938271604938272,2.0,0.0,8.0,30.0,15.0,0,False,False,False,False,False,False,True
+4,220.0,118.0,49.0,39.0,0.0,19.0,0.0,0.0,41.0,13.0,8.0,0.0,0.0,1.0,0.0,6.0,23.0,14.0,1.0,0.5364,0.2227,0.1773,0.0,7.0,9.4,0,0,4,5,0.0,40.0,2881.0,1650.0,3570.0,0.0,0,0,1281.0,0.0,79,256.0,6,14,8.0,1,0,0,0,27.160493827160494,44.0,2.6,826.0,8397.0,1679.4,1,False,False,False,True,False,False,False
+3,180.0,11.0,44.0,6.0,0.0,8.0,0.0,0.0,115.0,18.0,8.0,23.0,0.0,0.0,0.0,37.0,23.0,0.0,0.0,0.0611,0.2444,0.0333,0.0,5.0,6.65,0,0,37,132,1040.0,234.0,10862.0,2.5,334.0,15.0,414,0,0.0,0.0,2000,0.0,13,21,8.0,0,1,0,0,22.22222222222222,4.7368421052631575,0.47368421052631576,55.0,12487.5,328.61842105263156,0,False,True,False,False,False,False,False
+3,178.0,127.0,21.0,8.0,1.0,6.0,1.0,19.0,23.0,12.0,14.0,48.0,0.0,0.0,0.0,9.0,58.0,0.0,1.0,0.7135,0.118,0.0449,0.0056,6.0,9.2,0,0,40,206,5286.0,982.5,3428.0,20.0,300.0,0.0,3,1162,1412.0,1500.0,18,840.0,13,16,8.0,0,1,0,0,21.97530864197531,4.341463414634147,0.2926829268292683,762.0,10856.5,264.7926829268293,0,False,False,False,False,False,False,True
+2,283.0,168.0,24.0,18.0,3.0,18.0,4.0,34.0,60.0,3.0,24.0,22.0,0.0,0.0,0.0,8.0,54.0,2.0,0.0,0.5936,0.0848,0.0636,0.0106,6.0,9.2,0,0,46,268,0.0,510.0,5368.0,40.0,2400.0,0.0,0,0,5650.0,5650.0,0,200.0,6,15,8.0,1,0,0,0,34.93827160493827,6.0212765957446805,0.06382978723404255,1008.0,8518.0,181.2340425531915,0,False,False,False,True,False,False,False
+1,4.0,3.0,1.0,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.75,0.25,0.25,0.0,0.0,0.28,0,0,1,0,0.0,0.0,0.0,15.0,50.0,0.0,0,0,0.0,0.0,0,0.0,0,0,8.0,0,0,0,1,0.4938271604938272,2.0,0.0,0.0,65.0,32.5,0,False,False,False,False,False,False,False
+2,107.0,65.0,9.0,8.0,0.0,17.0,0.0,4.0,28.0,26.0,15.0,7.0,0.0,0.0,0.0,13.0,0.0,17.0,0.0,0.6075,0.0841,0.0748,0.0,5.0,6.87,0,0,1,0,0.0,10960.0,0.0,390.0,0.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,13.209876543209877,53.5,13.0,325.0,11350.0,5675.0,0,False,False,False,False,False,True,False
+5,971.0,462.0,163.0,79.0,2.0,2.0,102.0,50.0,359.0,98.0,137.0,63.0,32.0,22.0,2.0,28.0,63.0,91.0,14.0,0.4758,0.1679,0.0814,0.0021,10.0,10.0,0,0,8,34,16651.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,119.87654320987654,107.88888888888889,10.88888888888889,4620.0,16651.0,1850.111111111111,1,False,True,False,False,False,False,False
+2,134.0,51.0,6.0,59.0,0.0,6.0,0.0,7.0,21.0,35.0,6.0,31.0,4.0,7.0,0.0,0.0,21.0,2.0,0.0,0.3806,0.0448,0.4403,0.0,7.0,6.44,0,0,8,24,960.0,1258.0,383.5,227.0,3196.5,0.0,0,0,30.0,0.0,0,186.0,6,15,8.0,1,0,0,0,16.543209876543212,14.88888888888889,3.888888888888889,357.0,6211.0,690.1111111111111,1,False,False,False,False,False,True,False
+5,248.0,141.0,27.0,46.0,0.0,18.0,0.0,8.0,43.0,84.0,48.0,23.0,0.0,0.0,0.0,1.0,26.0,0.0,0.0,0.5685,0.1089,0.1855,0.0,5.0,9.0,0,0,6,0,0.0,200.0,900.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,14,20,8.0,0,1,0,0,30.617283950617285,35.42857142857143,12.0,705.0,1120.0,160.0,0,False,True,False,False,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,4,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,18,8.0,1,0,0,0,0.0,0.0,0.0,0.0,0.0,0.0,0,False,False,False,False,False,True,False
+3,50.0,30.0,6.0,11.0,0.0,13.0,0.0,0.0,4.0,15.0,2.0,12.0,0.0,0.0,0.0,2.0,13.0,0.0,0.0,0.6,0.12,0.22,0.0,5.0,4.56,0,0,9,26,6300.0,4815.0,910.0,40.0,100.0,1280.0,1,0,0.0,1630.0,0,0.0,6,18,8.0,1,0,0,0,6.172839506172839,5.0,1.5,150.0,13445.0,1344.5,0,False,False,False,False,False,True,False
+4,170.0,82.0,23.0,34.0,0.0,10.0,14.0,16.0,35.0,50.0,8.0,10.0,0.0,0.0,0.0,10.0,20.0,0.0,1.0,0.4824,0.1353,0.2,0.0,6.0,9.2,0,0,11,54,2000.0,3118.36,833.89,5856.6,700.0,4207.39,1000,100,10.0,0.0,500,2400.0,6,14,8.0,1,0,0,0,20.987654320987655,14.166666666666666,4.166666666666667,492.0,19116.24,1593.0200000000002,0,False,False,False,True,False,False,False
+1,19.0,17.0,5.0,3.0,0.0,0.0,0.0,1.0,2.0,7.0,2.0,0.0,0.0,0.0,0.0,2.0,2.0,3.0,0.0,0.8947,0.2632,0.1579,0.0,5.0,2.3,0,0,3,0,200.0,10.0,30.0,43.0,0.0,120.0,0,0,0.0,200.0,0,35.0,6,16,8.0,1,0,0,0,2.345679012345679,4.75,1.75,85.0,438.0,109.5,0,False,False,False,False,False,True,False
+2,49.0,20.0,4.0,15.0,0.0,8.0,0.0,3.0,9.0,16.0,19.0,0.0,0.0,0.0,0.0,0.0,2.0,10.0,0.0,0.4082,0.0816,0.3061,0.0,4.0,5.15,0,0,4,0,0.0,125.0,240.0,60.0,2455.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,6.049382716049383,9.8,3.2,80.0,2880.0,576.0,0,False,False,False,False,False,True,False
+2,158.0,94.0,38.0,36.0,0.0,16.0,7.0,7.0,26.0,36.0,37.0,8.0,0.0,0.0,0.0,9.0,22.0,25.0,0.0,0.5949,0.2405,0.2278,0.0,6.0,9.2,0,0,10,26,220.0,470.0,1960.0,580.0,6006.0,0.0,110,0,1141.0,1514.0,0,941.0,6,16,8.0,1,0,0,0,19.506172839506174,14.363636363636363,3.272727272727273,564.0,10177.0,925.1818181818181,0,False,False,False,False,False,True,False
+6,441.0,258.0,145.0,134.0,65.0,75.0,62.0,57.0,45.0,89.0,90.0,5.0,41.0,25.0,30.0,4.0,12.0,39.0,16.0,0.585,0.3288,0.3039,0.1474,10.0,10.0,0,0,10,18,1700.0,0.0,2600.0,348.0,6825.0,0.0,70,0,9176.0,89.0,25,894.0,6,16,8.0,1,0,0,0,54.44444444444445,40.09090909090909,8.090909090909092,2580.0,12367.0,1124.2727272727273,1,False,False,False,False,False,True,False
+3,44.0,24.0,7.0,13.0,0.0,10.0,0.0,0.0,4.0,9.0,11.0,10.0,0.0,0.0,0.0,5.0,13.0,0.0,0.0,0.5455,0.1591,0.2955,0.0,5.0,5.25,0,0,12,44,0.0,60.0,64.0,160.0,0.0,0.0,1,0,0.0,64.0,0,62.0,6,17,8.0,1,0,0,0,5.432098765432099,3.3846153846153846,0.6923076923076923,120.0,346.0,26.615384615384617,0,False,False,False,False,False,True,False
+2,32.0,18.0,3.0,7.0,0.0,2.0,0.0,0.0,4.0,11.0,8.0,1.0,0.0,0.0,0.0,2.0,5.0,8.0,0.0,0.5625,0.0938,0.2188,0.0,6.0,3.36,0,0,11,9,30.0,200.0,5.0,24.0,240.0,0.0,1,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,3.9506172839506175,2.6666666666666665,0.9166666666666666,108.0,499.0,41.583333333333336,0,False,False,False,False,False,True,False
+3,244.0,182.0,52.0,49.0,0.0,59.0,0.0,17.0,35.0,69.0,41.0,17.0,0.0,0.0,0.0,17.0,37.0,26.0,8.0,0.7459,0.2131,0.2008,0.0,7.0,9.4,0,0,22,120,350.0,2650.0,300.0,90.0,500.0,4450.0,3,0,0.0,0.0,18,8.0,6,14,8.0,1,0,0,0,30.12345679012346,10.608695652173912,3.0,1274.0,8348.0,362.95652173913044,0,False,False,False,True,False,False,False
+3,354.0,230.0,46.0,85.0,0.0,2.0,0.0,52.0,52.0,41.0,78.0,59.0,0.0,0.0,0.0,16.0,126.0,2.0,0.0,0.6497,0.1299,0.2401,0.0,6.0,9.2,0,0,41,416,3800.0,1300.0,13230.0,390.0,0.0,70.0,500,2150,3680.0,3000.0,30,1896.0,6,16,8.0,1,0,0,0,43.7037037037037,8.428571428571429,0.9761904761904762,1380.0,20686.0,492.5238095238095,0,False,False,False,False,False,True,False
+2,80.0,56.0,14.0,11.0,3.0,2.0,0.0,1.0,13.0,25.0,23.0,11.0,0.0,0.0,0.0,5.0,11.0,8.0,0.0,0.7,0.175,0.1375,0.0375,6.0,5.59,0,0,9,22,1000.0,654.4,607.0,330.0,8.0,0.0,30,0,0.0,0.0,1050,0.0,6,16,8.0,1,0,0,0,9.876543209876544,8.0,2.5,336.0,2599.4,259.94,0,False,False,False,False,False,True,False
+3,218.0,156.0,65.0,46.0,0.0,19.0,0.0,27.0,20.0,53.0,85.0,8.0,16.0,3.0,0.0,8.0,47.0,6.0,0.0,0.7156,0.2982,0.211,0.0,8.0,9.6,0,0,25,54,1200.0,190.0,6550.0,722.0,3445.0,180.0,0,80,11182.0,0.0,1029,663.0,6,10,8.0,1,0,0,0,26.913580246913583,8.384615384615385,2.0384615384615383,1248.0,12950.0,498.0769230769231,1,False,False,False,False,False,False,True
+5,320.0,182.0,38.0,111.0,0.0,42.0,29.0,12.0,77.0,97.0,32.0,57.0,0.0,0.0,0.0,25.0,58.0,1.0,5.0,0.5687,0.1187,0.3469,0.0,7.0,9.4,0,0,18,61,4610.0,1890.0,1490.0,382.0,62.0,59.0,400,0,0.0,100.0,275,770.0,7,17,8.0,1,0,0,0,39.50617283950618,16.842105263157894,5.105263157894737,1274.0,9263.0,487.5263157894737,0,False,False,False,False,False,True,False
+1,279.0,174.0,57.0,93.0,0.0,15.0,0.0,13.0,36.0,83.0,47.0,24.0,0.0,0.0,0.0,9.0,68.0,44.0,0.0,0.6237,0.2043,0.3333,0.0,6.0,9.2,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,50.0,0,0,8.0,0,0,0,1,34.44444444444444,139.5,41.5,1044.0,50.0,25.0,0,False,False,False,False,False,False,False
+4,77.0,58.0,26.0,0.0,0.0,2.0,0.0,3.0,14.0,7.0,0.0,26.0,0.0,0.0,0.0,4.0,29.0,0.0,0.0,0.7532,0.3377,0.0,0.0,4.0,5.99,0,0,36,265,14322.0,20012.0,3970.0,175.0,880.0,20.0,2,1322,3122.0,3900.0,39,600.0,6,14,8.0,1,0,0,0,9.506172839506172,2.081081081081081,0.1891891891891892,232.0,39979.0,1080.5135135135135,0,False,False,False,True,False,False,False
+3,66.0,37.0,11.0,14.0,0.0,11.0,0.0,0.0,13.0,26.0,21.0,2.0,0.0,0.0,0.0,5.0,16.0,2.0,0.0,0.5606,0.1667,0.2121,0.0,6.0,5.43,0,0,8,15,700.0,0.0,2530.0,870.0,800.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,8.148148148148149,7.333333333333333,2.888888888888889,222.0,4900.0,544.4444444444445,0,False,False,False,False,False,True,False
+3,88.0,42.0,10.0,13.0,0.0,17.0,0.0,4.0,12.0,30.0,37.0,1.0,7.0,4.0,1.0,1.0,14.0,0.0,3.0,0.4773,0.1136,0.1477,0.0,9.0,8.51,0,0,13,12,0.0,0.0,2065.0,326.0,2035.0,30.0,0,0,0.0,0.0,0,0.0,5,16,8.0,0,0,0,1,10.864197530864198,6.285714285714286,2.142857142857143,378.0,4456.0,318.2857142857143,1,False,False,False,False,False,True,False
+1,9.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4444,0.0,0.0,0.0,0.0,0.75,0,0,1,0,0.0,0.0,0.0,0.0,100.0,300.0,0,0,0.0,0.0,0,200.0,7,16,8.0,1,0,0,0,1.1111111111111112,4.5,0.0,0.0,600.0,300.0,0,False,False,False,False,False,True,False
+3,391.0,251.0,94.0,100.0,0.0,23.0,0.0,24.0,56.0,102.0,60.0,34.0,0.0,0.0,0.0,15.0,79.0,77.0,1.0,0.6419,0.2404,0.2558,0.0,7.0,9.4,0,0,20,0,6000.0,2900.0,1620.0,142.0,80.0,18.0,2,0,0.0,0.0,0,60.0,6,14,8.0,1,0,0,0,48.27160493827161,18.61904761904762,4.857142857142857,1757.0,10820.0,515.2380952380952,0,False,False,False,True,False,False,False
+7,471.0,322.0,62.0,68.0,0.0,36.0,0.0,25.0,56.0,124.0,148.0,27.0,1.0,0.0,0.0,37.0,86.0,10.0,0.0,0.6837,0.1316,0.1444,0.0,7.0,7.4,0,0,12,57,18000.0,1675.0,11994.0,1760.0,20461.0,150.0,0,0,3470.0,3666.0,535,5116.0,6,16,8.0,1,0,0,0,58.14814814814815,36.23076923076923,9.538461538461538,2254.0,59156.0,4550.461538461538,1,False,False,False,False,False,True,False
+1,15.0,8.0,2.0,0.0,0.0,1.0,0.0,1.0,6.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,5.0,0.0,0.5333,0.1333,0.0,0.0,2.0,1.42,0,0,1,0,0.0,0.0,0.0,0.0,300.0,300.0,0,0,0.0,0.0,0,0.0,6,18,8.0,1,0,0,0,1.8518518518518519,7.5,0.0,16.0,600.0,300.0,0,False,False,False,False,False,True,False
+3,22.0,14.0,5.0,4.0,0.0,0.0,0.0,1.0,7.0,4.0,0.0,2.0,0.0,0.0,0.0,1.0,7.0,0.0,0.0,0.6364,0.2273,0.1818,0.0,4.0,2.6,0,0,3,4,1400.0,2000.0,2000.0,135.0,50.0,0.0,0,0,0.0,1600.0,0,2152.0,13,21,8.0,0,1,0,0,2.7160493827160495,5.5,1.0,56.0,7737.0,1934.25,0,False,True,False,False,False,False,False
+1,30.0,26.0,3.0,0.0,0.0,0.0,2.0,1.0,4.0,6.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,7.0,0.0,0.8667,0.1,0.0,0.0,4.0,4.82,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,16,18,8.0,0,1,0,0,3.7037037037037037,15.0,3.0,104.0,0.0,0.0,0,False,False,False,False,False,False,True
+8,296.0,130.0,14.0,18.0,0.0,8.0,29.0,3.0,156.0,119.0,1.0,5.0,0.0,0.0,0.0,15.0,4.0,1.0,0.0,0.4392,0.0473,0.0608,0.0,6.0,9.2,0,0,20,89,500.0,150.0,480.0,540.0,15.0,690.0,0,0,900.0,450.0,0,720.0,8,17,8.0,1,0,0,0,36.54320987654321,14.095238095238095,5.666666666666667,780.0,3095.0,147.38095238095238,0,False,False,False,False,False,True,False
+3,1009.0,713.0,125.0,33.0,0.0,102.0,7.0,94.0,170.0,59.0,507.0,40.0,0.0,0.0,0.0,25.0,44.0,0.0,0.0,0.7066,0.1239,0.0327,0.0,5.0,9.0,0,0,55,724,10000.0,201200.0,20280.0,0.0,0.0,0.0,0,0,0.0,0.0,4,0.0,13,21,8.0,0,1,0,0,124.56790123456791,18.017857142857142,1.0535714285714286,3565.0,231480.0,4133.571428571428,0,False,True,False,False,False,False,False
+12,227.0,136.0,69.0,10.0,0.0,9.0,0.0,10.0,50.0,54.0,34.0,68.0,1.0,0.0,0.0,23.0,33.0,1.0,2.0,0.5991,0.304,0.0441,0.0,8.0,9.6,0,0,36,336,9642.0,6225.2,8826.0,150.0,186.0,50.0,450,0,2168.0,0.0,142,807.5,6,16,8.0,1,0,0,0,28.024691358024693,6.135135135135135,1.4594594594594594,1088.0,25886.7,699.6405405405405,1,False,False,False,False,False,True,False
+1,61.0,39.0,1.0,0.0,0.0,0.0,0.0,0.0,21.0,1.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,2.0,0.0,0.6393,0.0164,0.0,0.0,3.0,4.26,0,0,1,0,5600.0,0.0,0.0,0.0,0.0,0.0,0,0,35.0,0.0,9,0.0,7,17,8.0,1,0,0,0,7.530864197530865,30.5,0.5,117.0,5600.0,2800.0,0,False,False,False,False,False,True,False
+1,30.0,26.0,3.0,0.0,0.0,0.0,2.0,1.0,4.0,6.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,7.0,0.0,0.8667,0.1,0.0,0.0,4.0,4.82,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,5,7,8.0,0,0,0,1,3.7037037037037037,15.0,3.0,104.0,0.0,0.0,0,False,False,False,False,False,False,True
+1,61.0,40.0,5.0,11.0,0.0,7.0,0.0,2.0,6.0,22.0,13.0,2.0,0.0,0.0,0.0,0.0,9.0,0.0,0.0,0.6557,0.082,0.1803,0.0,4.0,4.98,0,0,7,28,0.0,0.0,1470.0,210.0,0.0,0.0,0,0,0.0,1470.0,0,0.0,6,16,8.0,1,0,0,0,7.530864197530865,7.625,2.75,160.0,1680.0,210.0,0,False,False,False,False,False,True,False
+12,227.0,136.0,69.0,10.0,0.0,9.0,0.0,10.0,50.0,54.0,34.0,68.0,1.0,0.0,0.0,23.0,33.0,1.0,2.0,0.5991,0.304,0.0441,0.0,8.0,9.6,0,0,36,336,9642.0,6225.2,8826.0,150.0,186.0,50.0,450,0,2168.0,0.0,142,807.5,13,21,8.0,0,1,0,0,28.024691358024693,6.135135135135135,1.4594594594594594,1088.0,25886.7,699.6405405405405,1,False,True,False,False,False,False,False
+7,199.0,114.0,30.0,46.0,0.0,33.0,0.0,17.0,32.0,69.0,43.0,26.0,0.0,0.0,0.0,17.0,51.0,14.0,0.0,0.5729,0.1508,0.2312,0.0,6.0,9.2,0,0,17,39,16717.42,3102.0,11845.88,2224.0,4105.0,1526.0,4,2,2436.0,86.8,125,1916.0,4,16,8.0,0,0,0,1,24.567901234567902,11.055555555555555,3.8333333333333335,684.0,41436.299999999996,2302.0166666666664,0,False,False,False,False,False,True,False
+1,15.0,6.0,3.0,1.0,0.0,0.0,1.0,1.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.4,0.2,0.0667,0.0,1.0,2.79,0,0,1,0,0.0,0.0,0.0,0.0,600.0,0.0,0,0,0.0,0.0,0,0.0,7,17,8.0,1,0,0,0,1.8518518518518519,7.5,0.0,6.0,600.0,300.0,0,False,False,False,False,False,True,False
+5,971.0,462.0,163.0,79.0,2.0,2.0,102.0,50.0,359.0,98.0,137.0,63.0,32.0,22.0,2.0,28.0,63.0,91.0,14.0,0.4758,0.1679,0.0814,0.0021,10.0,10.0,0,0,8,34,16651.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,4,12,8.0,0,0,0,1,119.87654320987654,107.88888888888889,10.88888888888889,4620.0,16651.0,1850.111111111111,1,False,False,False,True,False,False,False
+1,8.0,5.0,6.0,0.0,0.0,4.0,6.0,0.0,0.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.0,0.625,0.75,0.0,0.0,2.0,1.02,0,0,3,0,0.0,0.0,0.0,45.0,150.0,0.0,0,0,0.0,0.0,0,45.0,7,9,8.0,1,0,0,0,0.9876543209876544,2.0,0.75,10.0,240.0,60.0,0,False,False,False,False,False,False,True
+1,7.0,5.0,2.0,1.0,0.0,1.0,0.0,1.0,1.0,3.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7143,0.2857,0.1429,0.0,3.0,1.09,0,0,1,0,0.0,0.0,0.0,5.0,80.0,0.0,0,0,30.0,60.0,0,80.0,5,7,8.0,0,0,0,1,0.8641975308641976,3.5,1.5,15.0,165.0,82.5,0,False,False,False,False,False,False,True
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,8,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,False,True
+3,149.0,106.0,31.0,48.0,0.0,10.0,0.0,13.0,15.0,42.0,19.0,20.0,0.0,0.0,0.0,24.0,42.0,1.0,0.0,0.7114,0.2081,0.3221,0.0,6.0,7.2,0,0,12,18,350.0,1200.0,190.0,270.0,90.0,0.0,2,0,1000.0,0.0,120,0.0,0,0,8.0,0,0,0,1,18.395061728395063,11.461538461538462,3.230769230769231,636.0,2100.0,161.53846153846155,0,False,False,False,False,False,False,False
+1,38.0,33.0,17.0,4.0,0.0,5.0,0.0,1.0,1.0,13.0,2.0,3.0,0.0,0.0,0.0,6.0,5.0,10.0,0.0,0.8684,0.4474,0.1053,0.0,6.0,6.64,0,0,1,0,0.0,0.0,0.0,0.0,60.0,0.0,0,0,0.0,0.0,0,10.0,17,19,8.0,0,1,0,0,4.691358024691358,19.0,6.5,198.0,70.0,35.0,0,False,False,False,False,False,False,True
+1,133.0,88.0,10.0,21.0,0.0,15.0,0.0,5.0,24.0,35.0,21.0,22.0,0.0,0.0,0.0,8.0,35.0,23.0,0.0,0.6617,0.0752,0.1579,0.0,6.0,6.89,0,0,10,16,100.0,978.0,623.0,264.0,491.0,1147.0,200,200,1818.0,257.0,25,496.0,6,16,8.0,1,0,0,0,16.419753086419753,12.090909090909092,3.1818181818181817,528.0,4099.0,372.6363636363636,0,False,False,False,False,False,True,False
+1,221.0,126.0,21.0,34.0,0.0,12.0,0.0,12.0,38.0,71.0,0.0,2.0,0.0,0.0,0.0,14.0,44.0,0.0,0.0,0.5701,0.095,0.1538,0.0,4.0,8.8,0,0,12,8,0.0,150.0,225.0,787.0,0.0,0.0,3,0,0.0,0.0,0,0.0,5,16,8.0,0,0,0,1,27.283950617283953,17.0,5.461538461538462,504.0,1162.0,89.38461538461539,0,False,False,False,False,False,True,False
+3,331.0,130.0,53.0,55.0,7.0,14.0,4.0,20.0,98.0,70.0,5.0,68.0,0.0,0.0,0.0,5.0,24.0,9.0,2.0,0.3927,0.1601,0.1662,0.0211,7.0,9.4,0,0,10,14,6500.0,12400.0,220.0,1616.0,350.0,0.0,11,40,365.0,820.0,2000,500.0,6,15,8.0,1,0,0,0,40.864197530864196,30.09090909090909,6.363636363636363,910.0,21586.0,1962.3636363636363,0,False,False,False,True,False,False,False
+2,32.0,18.0,3.0,7.0,0.0,2.0,0.0,0.0,4.0,11.0,8.0,1.0,0.0,0.0,0.0,2.0,5.0,8.0,0.0,0.5625,0.0938,0.2188,0.0,6.0,3.36,0,0,11,9,30.0,200.0,5.0,24.0,240.0,0.0,1,0,0.0,0.0,0,0.0,6,10,8.0,1,0,0,0,3.9506172839506175,2.6666666666666665,0.9166666666666666,108.0,499.0,41.583333333333336,0,False,False,False,False,False,False,True
+1,4.0,3.0,2.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,0.75,0.5,0.0,0.0,2.0,1.71,0,0,1,0,0.0,0.0,0.0,2.0,30.0,0.0,0,0,0.0,60.0,0,20.0,6,8,8.0,1,0,0,0,0.4938271604938272,2.0,0.5,6.0,52.0,26.0,0,False,False,False,False,False,False,True
+5,775.0,445.0,140.0,156.0,0.0,116.0,64.0,42.0,184.0,236.0,25.0,0.0,0.0,0.0,0.0,37.0,17.0,11.0,20.0,0.5742,0.1806,0.2013,0.0,6.0,9.2,0,0,49,0,10000.0,0.0,150.0,0.0,1000.0,41.0,3,0,0.0,0.0,15,80.0,22,6,8.0,0,0,1,0,95.67901234567901,15.5,4.72,2670.0,11271.0,225.42,0,False,False,False,False,True,False,False
+5,300.0,108.0,51.0,30.0,0.0,26.0,9.0,0.0,109.0,30.0,12.0,9.0,0.0,0.0,0.0,14.0,17.0,2.0,0.0,0.36,0.17,0.1,0.0,6.0,7.7,0,0,2,2,900.0,1860.0,660.0,607.0,370.0,0.0,0,0,0.0,0.0,0,74.0,7,16,8.0,1,0,0,0,37.03703703703704,100.0,10.0,648.0,4471.0,1490.3333333333333,0,False,False,False,False,False,True,False
+2,123.0,40.0,21.0,40.0,0.0,20.0,5.0,5.0,15.0,27.0,41.0,22.0,0.0,0.0,0.0,3.0,30.0,13.0,0.0,0.3252,0.1707,0.3252,0.0,6.0,8.73,0,0,9,28,1420.0,448.0,340.0,360.0,5242.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,15.185185185185185,12.3,2.7,240.0,7810.0,781.0,0,False,False,False,False,False,True,False
+1,17.0,10.0,2.0,1.0,1.0,2.0,0.0,1.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.5882,0.1176,0.0588,0.0588,1.0,1.34,0,0,0,0,0.0,0.0,0.0,0.0,300.0,0.0,0,0,0.0,0.0,0,150.0,6,16,8.0,1,0,0,0,2.0987654320987654,17.0,0.0,10.0,450.0,450.0,0,False,False,False,False,False,True,False
+2,47.0,21.0,2.0,13.0,0.0,8.0,0.0,2.0,5.0,17.0,12.0,0.0,0.0,0.0,0.0,6.0,5.0,0.0,0.0,0.4468,0.0426,0.2766,0.0,4.0,5.01,0,0,5,0,330.0,0.0,790.0,78.0,560.0,0.0,0,0,0.0,0.0,0,0.0,6,15,8.0,1,0,0,0,5.802469135802469,7.833333333333333,2.8333333333333335,84.0,1758.0,293.0,0,False,False,False,True,False,False,False
+4,593.0,334.0,95.0,68.0,16.0,24.0,2.0,66.0,139.0,55.0,76.0,26.0,64.0,6.0,16.0,4.0,49.0,64.0,22.0,0.5632,0.1602,0.1147,0.027,10.0,10.0,0,0,15,24,0.0,430.0,3230.0,150.0,24030.0,0.0,0,0,0.0,0.0,0,0.0,22,6,8.0,0,0,1,0,73.20987654320987,37.0625,3.4375,3340.0,27840.0,1740.0,1,False,False,False,False,True,False,False
+4,384.0,172.0,41.0,72.0,8.0,43.0,8.0,10.0,110.0,84.0,52.0,16.0,0.0,0.0,0.0,54.0,55.0,2.0,0.0,0.4479,0.1068,0.1875,0.0208,6.0,9.2,0,0,13,20,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,6,18,8.0,1,0,0,0,47.40740740740741,27.428571428571427,6.0,1032.0,20.0,1.4285714285714286,0,False,False,False,False,False,True,False
+4,93.0,26.0,29.0,31.0,5.0,11.0,0.0,0.0,22.0,47.0,4.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.2796,0.3118,0.3333,0.0538,4.0,5.33,0,0,2,0,2613.0,120.0,210.0,297.0,4078.0,0.0,0,0,35.0,0.0,0,0.0,6,16,8.0,1,0,0,0,11.481481481481483,31.0,15.666666666666666,104.0,7318.0,2439.3333333333335,1,False,False,False,False,False,True,False
+1,17.0,12.0,1.0,4.0,0.0,1.0,2.0,2.0,3.0,1.0,4.0,1.0,0.0,0.0,0.0,0.0,2.0,2.0,0.0,0.7059,0.0588,0.2353,0.0,5.0,2.79,0,0,6,12,0.0,0.0,0.0,160.0,2200.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,2.0987654320987654,2.4285714285714284,0.14285714285714285,60.0,2360.0,337.14285714285717,0,False,False,False,False,False,True,False
+6,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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.06,0,0,32,305,3800.0,2950.0,7290.0,856.0,32110.0,2320.0,2,250,7750.0,2915.0,44,1850.0,6,16,8.0,1,0,0,0,0.1234567901234568,0.030303030303030304,0.0,0.0,51176.0,1550.7878787878788,0,False,False,False,False,False,True,False
+5,133.0,88.0,25.0,33.0,0.0,10.0,0.0,13.0,23.0,14.0,51.0,15.0,0.0,0.0,0.0,4.0,58.0,0.0,0.0,0.6617,0.188,0.2481,0.0,5.0,9.0,0,0,32,124,400.0,230.0,5637.0,214.0,15.0,0.0,5,350,720.0,0.0,0,15.0,15,21,8.0,0,1,0,0,16.419753086419753,4.03030303030303,0.42424242424242425,440.0,6511.0,197.3030303030303,0,False,True,False,False,False,False,False
+4,83.0,53.0,8.0,15.0,0.0,1.0,0.0,4.0,14.0,20.0,15.0,4.0,0.0,0.0,0.0,12.0,15.0,1.0,0.0,0.6386,0.0964,0.1807,0.0,6.0,6.01,0,0,5,0,2500.0,280.0,1890.0,224.0,0.0,0.0,0,0,530.0,568.0,0,0.0,6,10,8.0,1,0,0,0,10.246913580246915,13.833333333333334,3.3333333333333335,318.0,4894.0,815.6666666666666,0,False,False,False,False,False,False,True
+12,227.0,136.0,69.0,10.0,0.0,9.0,0.0,10.0,50.0,54.0,34.0,68.0,1.0,0.0,0.0,23.0,33.0,1.0,2.0,0.5991,0.304,0.0441,0.0,8.0,9.6,0,0,36,336,9642.0,6225.2,8826.0,150.0,186.0,50.0,450,0,2168.0,0.0,142,807.5,6,16,8.0,1,0,0,0,28.024691358024693,6.135135135135135,1.4594594594594594,1088.0,25886.7,699.6405405405405,1,False,False,False,False,False,True,False
+1,21.0,9.0,1.0,5.0,0.0,6.0,0.0,1.0,3.0,6.0,0.0,9.0,0.0,0.0,0.0,3.0,9.0,0.0,0.0,0.4286,0.0476,0.2381,0.0,4.0,2.23,0,0,11,18,0.0,30.0,90.0,10.0,500.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,2.5925925925925926,1.75,0.5,36.0,630.0,52.5,0,False,False,False,False,False,True,False
+3,170.0,69.0,26.0,14.0,3.0,6.0,2.0,4.0,66.0,26.0,38.0,25.0,0.0,0.0,0.0,9.0,32.0,0.0,0.0,0.4059,0.1529,0.0824,0.0176,5.0,8.0,0,0,29,113,2750.0,9223.0,2384.0,194.0,177.0,6.0,6,850,684.0,1151.0,11,701.0,13,21,8.0,0,1,0,0,20.987654320987655,5.666666666666667,0.8666666666666667,345.0,15435.0,514.5,0,False,True,False,False,False,False,False
+3,354.0,230.0,46.0,85.0,0.0,2.0,0.0,52.0,52.0,41.0,78.0,59.0,0.0,0.0,0.0,16.0,126.0,2.0,0.0,0.6497,0.1299,0.2401,0.0,6.0,9.2,0,0,41,416,3800.0,1300.0,13230.0,390.0,0.0,70.0,500,2150,3680.0,3000.0,30,1896.0,6,14,8.0,1,0,0,0,43.7037037037037,8.428571428571429,0.9761904761904762,1380.0,20686.0,492.5238095238095,0,False,False,False,True,False,False,False
+1,31.0,19.0,5.0,5.0,0.0,3.0,0.0,0.0,5.0,8.0,1.0,5.0,0.0,0.0,0.0,2.0,0.0,3.0,0.0,0.6129,0.1613,0.1613,0.0,5.0,3.08,0,0,1,0,1500.0,0.0,80.0,60.0,1200.0,0.0,0,0,0.0,0.0,0,60.0,7,17,8.0,1,0,0,0,3.8271604938271606,15.5,4.0,95.0,2900.0,1450.0,0,False,False,False,False,False,True,False
+1,546.0,381.0,46.0,43.0,0.0,27.0,14.0,62.0,85.0,44.0,208.0,51.0,0.0,0.0,0.0,25.0,199.0,5.0,0.0,0.6978,0.0842,0.0788,0.0,6.0,9.2,0,0,4,48,600.0,4700.0,0.0,110.0,0.0,0.0,0,0,0.0,0.0,0,0.0,0,0,8.0,0,0,0,1,67.4074074074074,109.2,8.8,2286.0,5410.0,1082.0,0,False,False,False,False,False,False,False
+2,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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,3,0.0,35.0,150.0,30.0,80.0,0.0,0,0,0.0,0.0,0,0.0,17,21,8.0,0,1,0,0,0.0,0.0,0.0,0.0,295.0,147.5,0,False,False,False,False,False,False,False
+3,180.0,11.0,44.0,6.0,0.0,8.0,0.0,0.0,115.0,18.0,8.0,23.0,0.0,0.0,0.0,37.0,23.0,0.0,0.0,0.0611,0.2444,0.0333,0.0,5.0,6.65,0,0,37,132,1040.0,234.0,10862.0,2.5,334.0,15.0,414,0,0.0,0.0,2000,0.0,7,16,8.0,1,0,0,0,22.22222222222222,4.7368421052631575,0.47368421052631576,55.0,12487.5,328.61842105263156,0,False,False,False,False,False,True,False
+8,296.0,130.0,14.0,18.0,0.0,8.0,29.0,3.0,156.0,119.0,1.0,5.0,0.0,0.0,0.0,15.0,4.0,1.0,0.0,0.4392,0.0473,0.0608,0.0,6.0,9.2,0,0,20,89,500.0,150.0,480.0,540.0,15.0,690.0,0,0,900.0,450.0,0,720.0,7,16,8.0,1,0,0,0,36.54320987654321,14.095238095238095,5.666666666666667,780.0,3095.0,147.38095238095238,0,False,False,False,False,False,True,False
+4,220.0,118.0,49.0,39.0,0.0,19.0,0.0,0.0,41.0,13.0,8.0,0.0,0.0,1.0,0.0,6.0,23.0,14.0,1.0,0.5364,0.2227,0.1773,0.0,7.0,9.4,0,0,4,5,0.0,40.0,2881.0,1650.0,3570.0,0.0,0,0,1281.0,0.0,79,256.0,5,13,8.0,0,0,0,1,27.160493827160494,44.0,2.6,826.0,8397.0,1679.4,1,False,False,False,True,False,False,False
+3,1009.0,713.0,125.0,33.0,0.0,102.0,7.0,94.0,170.0,59.0,507.0,40.0,0.0,0.0,0.0,25.0,44.0,0.0,0.0,0.7066,0.1239,0.0327,0.0,5.0,9.0,0,0,55,724,10000.0,201200.0,20280.0,0.0,0.0,0.0,0,0,0.0,0.0,4,0.0,6,16,8.0,1,0,0,0,124.56790123456791,18.017857142857142,1.0535714285714286,3565.0,231480.0,4133.571428571428,0,False,False,False,False,False,True,False
diff --git a/data/splits/X_val.csv b/data/splits/X_val.csv
new file mode 100644
index 0000000..0a5726a
--- /dev/null
+++ b/data/splits/X_val.csv
@@ -0,0 +1,90 @@
+so_ca_cua_toa,num_tasks,num_cleaning_tasks,num_trash_collection_tasks,num_monitoring_tasks,num_room_cleaning_tasks,num_deep_cleaning_tasks,num_maintenance_tasks,num_support_tasks,num_other_tasks,num_wc_tasks,num_hallway_tasks,num_lobby_tasks,num_patient_room_tasks,num_clinic_room_tasks,num_surgery_room_tasks,num_outdoor_tasks,num_elevator_tasks,num_office_tasks,num_technical_room_tasks,cleaning_ratio,trash_collection_ratio,monitoring_ratio,room_cleaning_ratio,area_diversity,task_complexity_score,loai_hinh,muc_do_luu_luong,so_tang,so_cua_thang_may,dien_tich_ngoai_canh,dien_tich_sanh,dien_tich_hanh_lang,dien_tich_wc,dien_tich_phong,dien_tich_tham,doc_ham,vien_phan_quang,op_tuong,op_chan_tuong,ranh_thoat_nuoc,dien_tich_kinh,hour_start,hour_end,work_hours_numeric,is_morning_shift,is_afternoon_shift,is_evening_shift,is_night_shift,tasks_per_hour,tasks_per_floor,wc_per_floor,cleaning_workload,total_area,area_per_floor,has_special_areas,loai_ca_24/24,loai_ca_Ca chiều,loai_ca_Ca gãy,loai_ca_Ca sáng,loai_ca_Ca đêm,loai_ca_Hành chính,loai_ca_Part time
+1,40.0,24.0,7.0,2.0,0.0,7.0,5.0,0.0,7.0,11.0,4.0,4.0,0.0,0.0,0.0,8.0,6.0,4.0,0.0,0.6,0.175,0.05,0.0,6.0,3.91,0,0,6,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,12.0,6,17,8.0,1,0,0,0,4.938271604938272,5.714285714285714,1.5714285714285714,144.0,12.0,1.7142857142857142,0,False,False,False,False,False,True,False
+3,181.0,121.0,10.0,24.0,0.0,21.0,0.0,14.0,25.0,14.0,50.0,21.0,0.0,0.0,0.0,10.0,28.0,0.0,0.0,0.6685,0.0552,0.1326,0.0,5.0,9.0,0,0,28,260,1500.0,240.0,3880.0,20.0,120.0,2.0,2,0,0.0,0.0,32,10.0,6,15,8.0,1,0,0,0,22.34567901234568,6.241379310344827,0.4827586206896552,605.0,5772.0,199.0344827586207,0,False,False,False,True,False,False,False
+1,4.0,3.0,4.0,1.0,0.0,2.0,4.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.75,1.0,0.25,0.0,4.0,1.15,0,0,1,0,0.0,0.0,0.0,12.0,50.0,0.0,0,0,0.0,0.0,0,0.0,7,9,8.0,1,0,0,0,0.4938271604938272,2.0,0.5,12.0,62.0,31.0,1,False,False,False,False,False,False,True
+2,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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,30,22,43000.0,900.0,7080.0,2585.0,40.0,4.0,4,0,3520.0,1060.0,200,1170.0,6,16,8.0,1,0,0,0,0.0,0.0,0.0,0.0,54779.0,1767.0645161290322,0,False,False,False,False,False,True,False
+2,18.0,11.0,2.0,0.0,0.0,1.0,0.0,0.0,4.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.6111,0.1111,0.0,0.0,1.0,1.78,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,15,19,8.0,0,1,0,0,2.2222222222222223,9.0,0.0,11.0,0.0,0.0,0,False,False,False,False,False,False,True
+1,4.0,3.0,3.0,0.0,0.0,2.0,3.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.75,0.75,0.0,0.0,2.0,0.71,0,0,1,0,0.0,0.0,0.0,0.0,300.0,0.0,0,0,0.0,0.0,0,150.0,16,18,8.0,0,1,0,0,0.4938271604938272,2.0,0.5,6.0,450.0,225.0,0,False,False,False,False,False,False,True
+1,13.0,11.0,7.0,2.0,0.0,1.0,0.0,1.0,1.0,3.0,0.0,2.0,0.0,0.0,0.0,1.0,2.0,0.0,0.0,0.8462,0.5385,0.1538,0.0,4.0,1.75,0,0,2,0,0.0,0.0,0.0,8.0,140.0,0.0,0,0,15.0,80.0,0,10.0,6,10,8.0,1,0,0,0,1.6049382716049383,4.333333333333333,1.0,44.0,158.0,52.666666666666664,0,False,False,False,False,False,False,True
+3,66.0,37.0,11.0,14.0,0.0,11.0,0.0,0.0,13.0,26.0,21.0,2.0,0.0,0.0,0.0,5.0,16.0,2.0,0.0,0.5606,0.1667,0.2121,0.0,6.0,5.43,0,0,8,15,700.0,0.0,2530.0,870.0,800.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,8.148148148148149,7.333333333333333,2.888888888888889,222.0,4900.0,544.4444444444445,0,False,False,False,False,False,True,False
+3,50.0,30.0,6.0,11.0,0.0,13.0,0.0,0.0,4.0,15.0,2.0,12.0,0.0,0.0,0.0,2.0,13.0,0.0,0.0,0.6,0.12,0.22,0.0,5.0,4.56,0,0,9,26,6300.0,4815.0,910.0,40.0,100.0,1280.0,1,0,0.0,1630.0,0,0.0,6,16,8.0,1,0,0,0,6.172839506172839,5.0,1.5,150.0,13445.0,1344.5,0,False,False,False,False,False,True,False
+2,111.0,52.0,14.0,3.0,0.0,4.0,1.0,16.0,46.0,18.0,9.0,21.0,0.0,0.0,0.0,3.0,15.0,3.0,1.0,0.4685,0.1261,0.027,0.0,7.0,9.4,0,0,19,129,0.0,380.0,1935.0,55.0,0.0,62.2,4,164,406.0,1969.0,13,100.0,7,16,8.0,1,0,0,0,13.703703703703704,5.55,0.9,364.0,2532.2,126.60999999999999,0,False,False,False,False,False,True,False
+2,152.0,73.0,14.0,33.0,0.0,24.0,0.0,6.0,29.0,13.0,21.0,23.0,0.0,0.0,0.0,3.0,55.0,0.0,0.0,0.4803,0.0921,0.2171,0.0,5.0,8.5,0,0,29,150,3000.0,340.0,7000.0,60.0,80.0,0.0,8,8,0.0,300.0,4,2400.0,6,16,8.0,1,0,0,0,18.765432098765434,5.066666666666666,0.43333333333333335,365.0,12880.0,429.3333333333333,0,False,False,False,False,False,True,False
+1,8.0,4.0,1.0,0.0,0.0,2.0,0.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5,0.125,0.0,0.0,0.0,0.5,0,0,1,0,0.0,0.0,0.0,0.0,80.0,0.0,0,0,15.0,20.0,0,50.0,17,19,8.0,0,1,0,0,0.9876543209876544,4.0,0.0,0.0,130.0,65.0,0,False,False,False,False,False,False,True
+1,55.0,39.0,8.0,5.0,0.0,2.0,0.0,1.0,10.0,4.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,14.0,0.0,0.7091,0.1455,0.0909,0.0,4.0,4.37,0,0,29,224,5000.0,10437.5,1530.6,1100.0,250.0,250.0,4,200,200.0,0.0,0,3100.0,0,0,8.0,0,0,0,1,6.790123456790123,1.8333333333333333,0.13333333333333333,156.0,21668.1,722.27,0,False,False,False,False,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,4,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,10,8.0,1,0,0,0,0.0,0.0,0.0,0.0,0.0,0.0,0,False,False,False,False,False,False,True
+1,12.0,5.0,0.0,0.0,0.0,7.0,0.0,1.0,5.0,0.0,0.0,0.0,0.0,0.0,0.0,5.0,0.0,0.0,0.0,0.4167,0.0,0.0,0.0,1.0,1.06,0,0,10,297,24213.92,114323.0,14652.0,8175.0,30.0,1355.0,0,0,2500.0,138.0,18,52657.0,9,9,8.0,1,0,0,0,1.4814814814814816,1.0909090909090908,0.0,5.0,215405.91999999998,19582.35636363636,0,True,False,False,False,False,False,False
+1,22.0,12.0,4.0,1.0,0.0,1.0,0.0,2.0,7.0,2.0,3.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.5455,0.1818,0.0455,0.0,3.0,2.08,0,0,5,2,300.0,0.0,310.0,80.0,1065.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,2.7160493827160495,3.6666666666666665,0.3333333333333333,36.0,1755.0,292.5,0,False,False,False,False,False,True,False
+12,227.0,136.0,69.0,10.0,0.0,9.0,0.0,10.0,50.0,54.0,34.0,68.0,1.0,0.0,0.0,23.0,33.0,1.0,2.0,0.5991,0.304,0.0441,0.0,8.0,9.6,0,0,36,336,9642.0,6225.2,8826.0,150.0,186.0,50.0,450,0,2168.0,0.0,142,807.5,6,11,8.0,1,0,0,0,28.024691358024693,6.135135135135135,1.4594594594594594,1088.0,25886.7,699.6405405405405,1,False,False,False,False,False,False,True
+1,9.0,7.0,2.0,1.0,0.0,1.0,0.0,1.0,1.0,3.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.7778,0.2222,0.1111,0.0,4.0,1.44,0,0,2,0,0.0,0.0,0.0,6.0,160.0,0.0,0,0,15.0,50.0,0,41.0,5,7,8.0,0,0,0,1,1.1111111111111112,3.0,1.0,28.0,207.0,69.0,0,False,False,False,False,False,False,True
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,14,22,8.0,0,1,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,True,False,False,False,False,False
+2,49.0,20.0,4.0,15.0,0.0,8.0,0.0,3.0,9.0,16.0,19.0,0.0,0.0,0.0,0.0,0.0,2.0,10.0,0.0,0.4082,0.0816,0.3061,0.0,4.0,5.15,0,0,4,0,0.0,125.0,240.0,60.0,2455.0,0.0,0,0,0.0,0.0,0,0.0,16,18,8.0,0,1,0,0,6.049382716049383,9.8,3.2,80.0,2880.0,576.0,0,False,False,False,False,False,False,True
+4,170.0,82.0,23.0,34.0,0.0,10.0,14.0,16.0,35.0,50.0,8.0,10.0,0.0,0.0,0.0,10.0,20.0,0.0,1.0,0.4824,0.1353,0.2,0.0,6.0,9.2,0,0,11,54,2000.0,3118.36,833.89,5856.6,700.0,4207.39,1000,100,10.0,0.0,500,2400.0,13,21,8.0,0,1,0,0,20.987654320987655,14.166666666666666,4.166666666666667,492.0,19116.24,1593.0200000000002,0,False,True,False,False,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,5,13,8.0,0,0,0,1,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,True,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,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,8.0,0,0,0,1,0.0,0.0,0.0,0.0,0.0,0.0,0,False,False,False,False,False,False,False
+2,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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,0.0,0.0,0.0,0.0,500.0,0,0,0.0,0.0,0,170.0,7,17,8.0,1,0,0,0,0.0,0.0,0.0,0.0,670.0,335.0,0,False,False,False,False,False,True,False
+4,125.0,58.0,10.0,18.0,0.0,17.0,0.0,7.0,27.0,20.0,11.0,6.0,0.0,0.0,0.0,10.0,7.0,1.0,0.0,0.464,0.08,0.144,0.0,6.0,7.71,0,0,1,3,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,15.4320987654321,62.5,10.0,348.0,0.0,0.0,0,False,True,False,False,False,False,False
+2,340.0,193.0,48.0,95.0,0.0,10.0,0.0,14.0,43.0,181.0,45.0,26.0,0.0,0.0,0.0,5.0,25.0,2.0,1.0,0.5676,0.1412,0.2794,0.0,7.0,9.4,0,0,24,105,900.0,4000.0,1235.0,330.0,0.0,154.0,60,0,940.0,0.0,0,2190.0,6,14,8.0,1,0,0,0,41.97530864197531,13.6,7.24,1351.0,8809.0,352.36,0,False,False,False,True,False,False,False
+2,240.0,125.0,57.0,38.0,0.0,30.0,0.0,56.0,43.0,17.0,27.0,44.0,0.0,0.0,0.0,9.0,48.0,0.0,0.0,0.5208,0.2375,0.1583,0.0,5.0,9.0,0,0,15,316,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,15,8.0,1,0,0,0,29.62962962962963,15.0,1.0625,625.0,0.0,0.0,0,False,False,False,False,False,True,False
+3,68.0,44.0,19.0,15.0,0.0,5.0,17.0,5.0,10.0,23.0,3.0,1.0,0.0,0.0,0.0,0.0,2.0,9.0,0.0,0.6471,0.2794,0.2206,0.0,5.0,6.25,0,0,1,0,1000.0,6510.0,0.0,138.0,0.0,108.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,8.395061728395062,34.0,11.5,220.0,7756.0,3878.0,0,False,False,False,False,False,True,False
+3,218.0,156.0,65.0,46.0,0.0,19.0,0.0,27.0,20.0,53.0,85.0,8.0,16.0,3.0,0.0,8.0,47.0,6.0,0.0,0.7156,0.2982,0.211,0.0,8.0,9.6,0,0,25,54,1200.0,190.0,6550.0,722.0,3445.0,180.0,0,80,11182.0,0.0,1029,663.0,16,0,8.0,0,1,0,0,26.913580246913583,8.384615384615385,2.0384615384615383,1248.0,12950.0,498.0769230769231,1,False,False,False,False,True,False,False
+2,488.0,403.0,123.0,89.0,21.0,0.0,30.0,52.0,81.0,147.0,145.0,14.0,143.0,0.0,2.0,5.0,49.0,71.0,39.0,0.8258,0.252,0.1824,0.043,9.0,8.3,0,0,5,14,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,2.0,10,21,8.0,1,0,0,0,60.24691358024692,81.33333333333333,24.5,3627.0,2.0,0.3333333333333333,1,False,True,False,False,False,False,False
+1,22.0,9.0,3.0,7.0,0.0,3.0,0.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.0,0.0,0.4091,0.1364,0.3182,0.0,1.0,2.37,0,0,2,0,0.0,0.0,0.0,0.0,750.0,0.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,2.7160493827160495,7.333333333333333,0.0,9.0,750.0,250.0,0,False,False,False,False,False,True,False
+2,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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,3,0.0,35.0,150.0,30.0,80.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,0.0,0.0,0.0,0.0,295.0,147.5,0,False,False,False,False,False,False,False
+4,125.0,58.0,10.0,18.0,0.0,17.0,0.0,7.0,27.0,20.0,11.0,6.0,0.0,0.0,0.0,10.0,7.0,1.0,0.0,0.464,0.08,0.144,0.0,6.0,7.71,0,0,1,3,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,15.4320987654321,62.5,10.0,348.0,0.0,0.0,0,False,False,False,False,False,True,False
+1,62.0,26.0,9.0,10.0,0.0,10.0,0.0,3.0,7.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,2.0,23.0,0.0,0.4194,0.1452,0.1613,0.0,4.0,5.82,0,0,3,0,0.0,0.0,0.0,0.0,1685.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,7.654320987654321,15.5,0.0,104.0,1685.0,421.25,1,False,False,False,False,False,True,False
+2,38.0,24.0,4.0,8.0,0.0,4.0,0.0,1.0,6.0,13.0,11.0,2.0,0.0,0.0,0.0,4.0,5.0,4.0,0.0,0.6316,0.1053,0.2105,0.0,6.0,3.81,0,0,5,8,700.0,100.0,210.0,90.0,0.0,70.0,2,0,0.0,0.0,0,20.0,6,16,8.0,1,0,0,0,4.691358024691358,6.333333333333333,2.1666666666666665,144.0,1190.0,198.33333333333334,0,False,False,False,False,False,True,False
+2,27.0,13.0,1.0,5.0,0.0,2.0,5.0,5.0,5.0,9.0,4.0,13.0,0.0,0.0,0.0,2.0,5.0,1.0,0.0,0.4815,0.037,0.1852,0.0,6.0,4.91,0,0,18,662,0.0,355.0,7960.0,140.0,0.0,11.0,6,6,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,3.3333333333333335,1.4210526315789473,0.47368421052631576,78.0,8466.0,445.57894736842104,0,False,False,False,False,False,True,False
+1,2.0,2.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,0.0,1.0,0.0,0.0,0.0,1.0,0.36,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,60.0,16,18,8.0,0,1,0,0,0.2469135802469136,1.0,0.0,2.0,60.0,30.0,0,False,False,False,False,False,False,True
+4,384.0,172.0,41.0,72.0,8.0,43.0,8.0,10.0,110.0,84.0,52.0,16.0,0.0,0.0,0.0,54.0,55.0,2.0,0.0,0.4479,0.1068,0.1875,0.0208,6.0,9.2,0,0,13,20,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,20.0,0,0,8.0,0,0,0,1,47.40740740740741,27.428571428571427,6.0,1032.0,20.0,1.4285714285714286,0,False,False,False,False,False,True,False
+2,339.0,196.0,33.0,23.0,2.0,29.0,20.0,40.0,88.0,62.0,46.0,8.0,1.0,0.0,0.0,8.0,25.0,31.0,0.0,0.5782,0.0973,0.0678,0.0059,7.0,9.4,0,0,4,0,1940.0,2160.0,520.0,12650.0,11550.0,0.0,0,0,30.0,0.0,146,0.0,6,14,8.0,1,0,0,0,41.851851851851855,67.8,12.4,1372.0,28820.0,5764.0,1,False,False,False,True,False,False,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,21,6,8.0,0,0,1,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,True,False,False
+1,7.0,5.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7143,0.1429,0.0,0.0,1.0,0.65,0,0,2,0,0.0,20.0,40.0,20.0,180.0,0.0,0,0,40.0,60.0,0,65.0,16,18,8.0,0,1,0,0,0.8641975308641976,2.3333333333333335,0.6666666666666666,5.0,325.0,108.33333333333333,0,False,False,False,False,False,False,True
+2,25.0,16.0,5.0,7.0,0.0,0.0,0.0,3.0,2.0,3.0,2.0,3.0,0.0,0.0,0.0,5.0,5.0,0.0,0.0,0.64,0.2,0.28,0.0,5.0,4.49,0,0,4,0,0.0,200.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,8,17,8.0,1,0,0,0,3.0864197530864197,5.0,0.6,80.0,200.0,40.0,0,False,False,False,False,False,True,False
+3,173.0,117.0,12.0,5.0,0.0,9.0,1.0,14.0,39.0,13.0,35.0,31.0,0.0,0.0,0.0,5.0,40.0,0.0,0.0,0.6763,0.0694,0.0289,0.0,5.0,9.0,0,0,30,104,7200.0,1600.0,1930.0,82.0,568.0,65.0,5,600,50.0,2114.0,23,394.0,6,14,8.0,1,0,0,0,21.358024691358025,5.580645161290323,0.41935483870967744,585.0,11839.0,381.9032258064516,0,False,False,False,True,False,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,0.0,0.0,15.0,300.0,0.0,0,0,0.0,0.0,0,30.0,6,16,8.0,1,0,0,0,0.0,0.0,0.0,0.0,345.0,172.5,0,False,False,False,False,False,True,False
+7,199.0,114.0,30.0,46.0,0.0,33.0,0.0,17.0,32.0,69.0,43.0,26.0,0.0,0.0,0.0,17.0,51.0,14.0,0.0,0.5729,0.1508,0.2312,0.0,6.0,9.2,0,0,17,39,16717.42,3102.0,11845.88,2224.0,4105.0,1526.0,4,2,2436.0,86.8,125,1916.0,7,16,8.0,1,0,0,0,24.567901234567902,11.055555555555555,3.8333333333333335,684.0,41436.299999999996,2302.0166666666664,0,False,False,False,False,False,True,False
+3,44.0,24.0,7.0,13.0,0.0,10.0,0.0,0.0,4.0,9.0,11.0,10.0,0.0,0.0,0.0,5.0,13.0,0.0,0.0,0.5455,0.1591,0.2955,0.0,5.0,5.25,0,0,12,44,0.0,60.0,64.0,160.0,0.0,0.0,1,0,0.0,64.0,0,62.0,17,21,8.0,0,1,0,0,5.432098765432099,3.3846153846153846,0.6923076923076923,120.0,346.0,26.615384615384617,0,False,False,False,False,False,False,True
+1,7.0,5.0,2.0,1.0,0.0,1.0,0.0,1.0,1.0,3.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.7143,0.2857,0.1429,0.0,3.0,1.08,0,0,1,0,0.0,0.0,0.0,5.0,120.0,0.0,0,0,30.0,60.0,0,50.0,7,9,8.0,1,0,0,0,0.8641975308641976,3.5,1.5,15.0,175.0,87.5,0,False,False,False,False,False,False,True
+2,745.0,359.0,140.0,8.0,20.0,46.0,18.0,35.0,259.0,219.0,76.0,26.0,0.0,0.0,0.0,8.0,44.0,28.0,2.0,0.4819,0.1879,0.0107,0.0268,7.0,9.4,0,0,20,68,300.0,1002.0,2975.0,333.0,8881.0,1879.0,1200,100,1385.0,0.0,60,70.0,6,16,8.0,1,0,0,0,91.97530864197532,35.476190476190474,10.428571428571429,2513.0,15440.0,735.2380952380952,0,False,False,False,True,False,False,False
+2,33.0,18.0,2.0,4.0,0.0,3.0,0.0,1.0,8.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,6.0,0.0,0.5455,0.0606,0.1212,0.0,4.0,2.89,0,0,1,0,0.0,0.0,0.0,0.0,0.0,1200.0,0,0,0.0,0.0,0,300.0,6,14,8.0,1,0,0,0,4.074074074074074,16.5,0.5,72.0,1500.0,750.0,1,False,False,False,True,False,False,False
+2,99.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,99.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,3.6,0,0,32,155,250.0,6442.4,4062.3,333.2,120.0,15.0,9,300,270.0,0.0,330,1580.0,13,21,8.0,0,1,0,0,12.222222222222223,3.0,0.0,0.0,12802.900000000001,387.9666666666667,0,False,True,False,False,False,False,False
+3,370.0,301.0,83.0,70.0,0.0,66.0,7.0,27.0,35.0,92.0,102.0,73.0,0.0,0.0,0.0,13.0,106.0,4.0,0.0,0.8135,0.2243,0.1892,0.0,6.0,9.2,0,0,20,254,10000.0,8600.0,8420.0,1675.0,27265.0,508.0,4,0,1865.0,5760.0,460,767.0,13,21,8.0,0,1,0,0,45.67901234567901,17.61904761904762,4.380952380952381,1806.0,57235.0,2725.4761904761904,0,False,True,False,False,False,False,False
+1,45.0,25.0,6.0,8.0,0.0,9.0,2.0,2.0,9.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.0,0.0,0.5556,0.1333,0.1778,0.0,1.0,3.81,0,0,4,0,70.0,0.0,0.0,30.0,468.0,0.0,1,0,0.0,0.0,5,0.0,6,16,8.0,1,0,0,0,5.555555555555555,9.0,0.0,25.0,568.0,113.6,0,False,False,False,False,False,True,False
+6,772.0,427.0,96.0,199.0,0.0,99.0,44.0,27.0,106.0,256.0,34.0,72.0,0.0,0.0,2.0,26.0,36.0,20.0,2.0,0.5531,0.1244,0.2578,0.0,8.0,9.6,0,0,30,135,6800.0,1217.0,541.0,671.0,30.0,2226.0,5,450,0.0,2440.0,650,25.0,13,21,8.0,0,1,0,0,95.30864197530865,24.903225806451612,8.258064516129032,3416.0,11510.0,371.2903225806452,1,False,True,False,False,False,False,False
+4,93.0,26.0,29.0,31.0,5.0,11.0,0.0,0.0,22.0,47.0,4.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.2796,0.3118,0.3333,0.0538,4.0,5.33,0,0,2,0,2613.0,120.0,210.0,297.0,4078.0,0.0,0,0,35.0,0.0,0,0.0,13,21,8.0,0,1,0,0,11.481481481481483,31.0,15.666666666666666,104.0,7318.0,2439.3333333333335,1,False,True,False,False,False,False,False
+4,345.0,229.0,29.0,46.0,0.0,43.0,0.0,40.0,52.0,56.0,72.0,1.0,0.0,0.0,0.0,15.0,46.0,4.0,0.0,0.6638,0.0841,0.1333,0.0,6.0,7.2,0,0,6,0,10000.0,0.0,3200.0,720.0,13000.0,0.0,0,0,0.0,0.0,0,0.0,13,21,8.0,0,1,0,0,42.592592592592595,49.285714285714285,8.0,1374.0,26920.0,3845.714285714286,0,False,True,False,False,False,False,False
+3,178.0,127.0,21.0,8.0,1.0,6.0,1.0,19.0,23.0,12.0,14.0,48.0,0.0,0.0,0.0,9.0,58.0,0.0,1.0,0.7135,0.118,0.0449,0.0056,6.0,9.2,0,0,40,206,5286.0,982.5,3428.0,20.0,300.0,0.0,3,1162,1412.0,1500.0,18,840.0,13,21,8.0,0,1,0,0,21.97530864197531,4.341463414634147,0.2926829268292683,762.0,10856.5,264.7926829268293,0,False,True,False,False,False,False,False
+4,513.0,383.0,95.0,62.0,7.0,30.0,40.0,44.0,64.0,78.0,87.0,26.0,71.0,16.0,6.0,0.0,58.0,39.0,25.0,0.7466,0.1852,0.1209,0.0136,9.0,9.8,0,0,23,0,1930.0,1635.0,2026.0,580.0,7548.0,0.0,2,0,0.0,0.0,0,0.0,22,6,8.0,0,0,1,0,63.333333333333336,21.375,3.25,3447.0,13719.0,571.625,1,False,False,False,False,True,False,False
+5,300.0,108.0,51.0,30.0,0.0,26.0,9.0,0.0,109.0,30.0,12.0,9.0,0.0,0.0,0.0,14.0,17.0,2.0,0.0,0.36,0.17,0.1,0.0,6.0,7.7,0,0,2,2,900.0,1860.0,660.0,607.0,370.0,0.0,0,0,0.0,0.0,0,74.0,22,6,8.0,0,0,1,0,37.03703703703704,100.0,10.0,648.0,4471.0,1490.3333333333333,0,False,False,False,False,True,False,False
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,3,0,0.0,0.0,0.0,189.0,0.0,0.0,0,0,0.0,0.0,0,0.0,0,0,8.0,0,0,0,1,0.0,0.0,0.0,0.0,189.0,47.25,0,False,False,False,False,False,False,False
+1,17.0,11.0,2.0,1.0,0.0,3.0,0.0,1.0,1.0,5.0,0.0,1.0,0.0,0.0,0.0,0.0,2.0,4.0,0.0,0.6471,0.1176,0.0588,0.0,4.0,2.38,0,0,3,0,0.0,0.0,0.0,15.0,250.0,250.0,0,0,0.0,0.0,0,0.0,6,10,8.0,1,0,0,0,2.0987654320987654,4.25,1.25,44.0,515.0,128.75,0,False,False,False,False,False,False,True
+3,149.0,106.0,31.0,48.0,0.0,10.0,0.0,13.0,15.0,42.0,19.0,20.0,0.0,0.0,0.0,24.0,42.0,1.0,0.0,0.7114,0.2081,0.3221,0.0,6.0,7.2,0,0,12,18,350.0,1200.0,190.0,270.0,90.0,0.0,2,0,1000.0,0.0,120,0.0,6,15,8.0,1,0,0,0,18.395061728395063,11.461538461538462,3.230769230769231,636.0,2100.0,161.53846153846155,0,False,False,False,False,False,True,False
+1,72.0,49.0,10.0,13.0,0.0,14.0,0.0,0.0,9.0,16.0,9.0,9.0,0.0,0.0,0.0,4.0,16.0,5.0,0.0,0.6806,0.1389,0.1806,0.0,6.0,6.18,0,0,7,14,0.0,0.0,2000.0,390.0,0.0,0.0,0,0,0.0,2000.0,0,150.0,6,16,8.0,1,0,0,0,8.88888888888889,9.0,2.0,294.0,2540.0,317.5,0,False,False,False,False,False,True,False
+3,66.0,37.0,11.0,14.0,0.0,11.0,0.0,0.0,13.0,26.0,21.0,2.0,0.0,0.0,0.0,5.0,16.0,2.0,0.0,0.5606,0.1667,0.2121,0.0,6.0,5.43,0,0,8,15,700.0,0.0,2530.0,870.0,800.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,8.148148148148149,7.333333333333333,2.888888888888889,222.0,4900.0,544.4444444444445,0,False,False,False,False,False,True,False
+6,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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.06,0,0,32,305,3800.0,2950.0,7290.0,856.0,32110.0,2320.0,2,250,7750.0,2915.0,44,1850.0,13,21,8.0,0,1,0,0,0.1234567901234568,0.030303030303030304,0.0,0.0,51176.0,1550.7878787878788,0,False,True,False,False,False,False,False
+3,182.0,124.0,47.0,49.0,1.0,10.0,27.0,16.0,30.0,54.0,3.0,0.0,0.0,0.0,0.0,6.0,1.0,10.0,2.0,0.6813,0.2582,0.2692,0.0055,6.0,7.2,0,0,1,0,12500.0,50.0,17130.0,330.0,3890.0,500.0,0,200,55.0,410.0,501,410.0,13,21,8.0,0,1,0,0,22.469135802469136,91.0,27.0,744.0,34810.0,17405.0,0,False,True,False,False,False,False,False
+1,95.0,60.0,9.0,24.0,0.0,6.0,0.0,1.0,11.0,26.0,14.0,8.0,0.0,0.0,0.0,12.0,11.0,3.0,0.0,0.6316,0.0947,0.2526,0.0,6.0,5.77,0,0,8,28,0.0,1550.0,577.0,420.0,0.0,0.0,2,0,0.0,0.0,0,5.0,6,16,8.0,1,0,0,0,11.728395061728396,10.555555555555555,2.888888888888889,360.0,2552.0,283.55555555555554,0,False,False,False,False,False,True,False
+1,30.0,26.0,3.0,0.0,0.0,0.0,2.0,1.0,4.0,6.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,7.0,0.0,0.8667,0.1,0.0,0.0,4.0,4.82,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,17,19,8.0,0,1,0,0,3.7037037037037037,15.0,3.0,104.0,0.0,0.0,0,False,False,False,False,False,False,True
+2,283.0,168.0,24.0,18.0,3.0,18.0,4.0,34.0,60.0,3.0,24.0,22.0,0.0,0.0,0.0,8.0,54.0,2.0,0.0,0.5936,0.0848,0.0636,0.0106,6.0,9.2,0,0,46,268,0.0,510.0,5368.0,40.0,2400.0,0.0,0,0,5650.0,5650.0,0,200.0,13,22,8.0,0,1,0,0,34.93827160493827,6.0212765957446805,0.06382978723404255,1008.0,8518.0,181.2340425531915,0,False,True,False,False,False,False,False
+2,41.0,22.0,3.0,13.0,0.0,4.0,0.0,0.0,6.0,13.0,11.0,6.0,0.0,0.0,0.0,2.0,14.0,0.0,0.0,0.5366,0.0732,0.3171,0.0,5.0,4.31,0,0,13,40,1200.0,50.0,900.0,232.0,0.0,0.0,0,0,0.0,0.0,0,0.0,10,18,8.0,1,0,0,0,5.061728395061729,2.9285714285714284,0.9285714285714286,110.0,2382.0,170.14285714285714,0,False,True,False,False,False,False,False
+5,320.0,182.0,38.0,111.0,0.0,42.0,29.0,12.0,77.0,97.0,32.0,57.0,0.0,0.0,0.0,25.0,58.0,1.0,5.0,0.5687,0.1187,0.3469,0.0,7.0,9.4,0,0,18,61,4610.0,1890.0,1490.0,382.0,62.0,59.0,400,0,0.0,100.0,275,770.0,7,16,8.0,1,0,0,0,39.50617283950618,16.842105263157894,5.105263157894737,1274.0,9263.0,487.5263157894737,0,False,False,False,False,False,True,False
+3,228.0,128.0,63.0,13.0,0.0,6.0,1.0,11.0,62.0,17.0,0.0,3.0,0.0,4.0,0.0,30.0,1.0,9.0,0.0,0.5614,0.2763,0.057,0.0,6.0,9.2,0,0,10,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,16,8.0,1,0,0,0,28.14814814814815,20.727272727272727,1.5454545454545454,768.0,0.0,0.0,1,False,False,False,False,False,True,False
+1,30.0,26.0,3.0,0.0,0.0,0.0,2.0,1.0,4.0,6.0,0.0,0.0,0.0,0.0,0.0,2.0,3.0,7.0,0.0,0.8667,0.1,0.0,0.0,4.0,4.82,0,0,1,0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0.0,0.0,0,0.0,6,8,8.0,1,0,0,0,3.7037037037037037,15.0,3.0,104.0,0.0,0.0,0,False,False,False,False,False,False,True
+3,193.0,88.0,53.0,34.0,0.0,8.0,2.0,0.0,51.0,15.0,5.0,0.0,1.0,0.0,0.0,6.0,0.0,7.0,0.0,0.456,0.2746,0.1762,0.0,5.0,8.0,0,0,1,0,0.0,0.0,20.0,480.0,4690.0,0.0,0,0,0.0,0.0,0,120.0,13,22,8.0,0,1,0,0,23.82716049382716,96.5,7.5,440.0,5310.0,2655.0,1,False,True,False,False,False,False,False
+1,13.0,10.0,1.0,2.0,0.0,2.0,1.0,0.0,2.0,7.0,0.0,0.0,0.0,0.0,0.0,1.0,3.0,4.0,0.0,0.7692,0.0769,0.1538,0.0,4.0,1.8,0,0,2,0,0.0,0.0,0.0,30.0,115.0,0.0,0,0,0.0,0.0,10,50.0,6,10,8.0,1,0,0,0,1.6049382716049383,4.333333333333333,2.3333333333333335,40.0,195.0,65.0,0,False,False,False,False,False,False,True
+3,370.0,301.0,83.0,70.0,0.0,66.0,7.0,27.0,35.0,92.0,102.0,73.0,0.0,0.0,0.0,13.0,106.0,4.0,0.0,0.8135,0.2243,0.1892,0.0,6.0,9.2,0,0,20,254,10000.0,8600.0,8420.0,1675.0,27265.0,508.0,4,0,1865.0,5760.0,460,767.0,6,14,8.0,1,0,0,0,45.67901234567901,17.61904761904762,4.380952380952381,1806.0,57235.0,2725.4761904761904,0,False,False,False,False,False,True,False
+6,772.0,427.0,96.0,199.0,0.0,99.0,44.0,27.0,106.0,256.0,34.0,72.0,0.0,0.0,2.0,26.0,36.0,20.0,2.0,0.5531,0.1244,0.2578,0.0,8.0,9.6,0,0,30,135,6800.0,1217.0,541.0,671.0,30.0,2226.0,5,450,0.0,2440.0,650,25.0,6,14,8.0,1,0,0,0,95.30864197530865,24.903225806451612,8.258064516129032,3416.0,11510.0,371.2903225806452,1,False,False,False,True,False,False,False
+1,9.0,7.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,0.0,0.7778,0.1111,0.0,0.0,2.0,2.06,0,0,2,0,0.0,0.0,0.0,5.0,130.0,0.0,0,0,25.0,20.0,0,140.0,5,7,8.0,0,0,0,1,1.1111111111111112,3.0,0.6666666666666666,14.0,275.0,91.66666666666667,0,False,False,False,False,False,False,True
+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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,30.0,0.0,30.0,100.0,0.0,0,0,0.0,0.0,0,60.0,6,10,8.0,1,0,0,0,0.0,0.0,0.0,0.0,220.0,110.0,0,False,False,False,False,False,False,True
+4,513.0,383.0,95.0,62.0,7.0,30.0,40.0,44.0,64.0,78.0,87.0,26.0,71.0,16.0,6.0,0.0,58.0,39.0,25.0,0.7466,0.1852,0.1209,0.0136,9.0,9.8,0,0,23,0,1930.0,1635.0,2026.0,580.0,7548.0,0.0,2,0,0.0,0.0,0,0.0,14,22,8.0,0,1,0,0,63.333333333333336,21.375,3.25,3447.0,13719.0,571.625,1,False,True,False,False,False,False,False
+1,91.0,58.0,12.0,19.0,2.0,11.0,0.0,1.0,13.0,18.0,0.0,14.0,0.0,0.0,0.0,5.0,18.0,15.0,0.0,0.6374,0.1319,0.2088,0.022,5.0,6.18,0,0,0,0,0.0,0.0,0.0,0.0,16.0,0.0,0,0,0.0,0.0,0,0.0,8,10,8.0,1,0,0,0,11.234567901234568,91.0,18.0,290.0,16.0,16.0,0,False,False,False,False,False,False,True
+2,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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0.0,0.0,0.0,0.0,0.0,500.0,0,0,0.0,0.0,0,170.0,7,11,8.0,1,0,0,0,0.0,0.0,0.0,0.0,670.0,335.0,0,False,False,False,False,False,False,True
+1,8.0,7.0,2.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.875,0.25,0.0,0.0,3.0,1.17,0,0,2,0,0.0,0.0,0.0,0.0,240.0,0.0,0,0,0.0,0.0,0,0.0,17,19,8.0,0,1,0,0,0.9876543209876544,2.6666666666666665,0.3333333333333333,21.0,240.0,80.0,0,False,False,False,False,False,False,True
+4,83.0,53.0,8.0,15.0,0.0,1.0,0.0,4.0,14.0,20.0,15.0,4.0,0.0,0.0,0.0,12.0,15.0,1.0,0.0,0.6386,0.0964,0.1807,0.0,6.0,6.01,0,0,5,0,2500.0,280.0,1890.0,224.0,0.0,0.0,0,0,530.0,568.0,0,0.0,4,16,8.0,0,0,0,1,10.246913580246915,13.833333333333334,3.3333333333333335,318.0,4894.0,815.6666666666666,0,False,False,False,False,False,True,False
+4,399.0,114.0,75.0,69.0,0.0,24.0,5.0,0.0,184.0,37.0,9.0,0.0,2.0,0.0,0.0,2.0,0.0,10.0,1.0,0.2857,0.188,0.1729,0.0,6.0,7.2,0,0,1,0,0.0,0.0,0.0,270.0,0.0,0.0,0,0,1060.0,0.0,0,91.0,6,14,8.0,1,0,0,0,49.25925925925926,199.5,18.5,684.0,361.0,180.5,1,False,False,False,True,False,False,False
+1,62.0,37.0,17.0,13.0,0.0,2.0,4.0,0.0,15.0,27.0,4.0,2.0,0.0,0.0,0.0,15.0,0.0,6.0,0.0,0.5968,0.2742,0.2097,0.0,5.0,5.58,0,0,1,0,1000.0,10240.0,0.0,180.0,0.0,400.0,0,0,0.0,0.0,0,0.0,7,16,8.0,1,0,0,0,7.654320987654321,31.0,13.5,185.0,11820.0,5910.0,0,False,False,False,False,False,True,False
+1,18.0,13.0,5.0,3.0,0.0,2.0,0.0,1.0,2.0,6.0,0.0,1.0,0.0,0.0,0.0,1.0,4.0,2.0,0.0,0.7222,0.2778,0.1667,0.0,5.0,2.2,0,0,3,0,0.0,20.0,60.0,45.0,420.0,0.0,0,0,110.0,120.0,0,120.0,6,16,8.0,1,0,0,0,2.2222222222222223,4.5,1.5,65.0,665.0,166.25,0,False,False,False,False,False,True,False
+6,441.0,258.0,145.0,134.0,65.0,75.0,62.0,57.0,45.0,89.0,90.0,5.0,41.0,25.0,30.0,4.0,12.0,39.0,16.0,0.585,0.3288,0.3039,0.1474,10.0,10.0,0,0,10,18,1700.0,0.0,2600.0,348.0,6825.0,0.0,70,0,9176.0,89.0,25,894.0,14,22,8.0,0,1,0,0,54.44444444444445,40.09090909090909,8.090909090909092,2580.0,12367.0,1124.2727272727273,1,False,True,False,False,False,False,False
+1,78.0,45.0,5.0,13.0,1.0,9.0,0.0,0.0,16.0,15.0,0.0,11.0,4.0,0.0,0.0,0.0,7.0,14.0,0.0,0.5769,0.0641,0.1667,0.0128,5.0,5.84,0,0,1,0,0.0,820.0,545.0,200.0,1400.0,820.0,0,0,0.0,0.0,0,420.0,6,16,8.0,1,0,0,0,9.62962962962963,39.0,7.5,225.0,4205.0,2102.5,1,False,False,False,False,False,True,False
+22,159.0,56.0,33.0,18.0,0.0,11.0,22.0,7.0,90.0,4.0,8.0,4.0,6.0,2.0,3.0,11.0,2.0,12.0,3.0,0.3522,0.2075,0.1132,0.0,10.0,10.0,0,0,15,125,5600.0,2290.0,15690.0,4549.0,36950.0,304.0,362,0,44490.0,22780.0,0,1570.0,6,16,8.0,1,0,0,0,19.62962962962963,9.9375,0.25,560.0,66953.0,4184.5625,1,False,False,False,False,False,True,False
diff --git a/data/splits/y_test.csv b/data/splits/y_test.csv
new file mode 100644
index 0000000..076030e
--- /dev/null
+++ b/data/splits/y_test.csv
@@ -0,0 +1,90 @@
+so_luong
+1
+2
+2
+2
+3
+5
+2
+2
+20
+1
+26
+1
+1
+1
+1
+5
+13
+1
+5
+3
+9
+1
+3
+1
+1
+1
+7
+3
+2
+2
+4
+1
+3
+1
+1
+2
+1
+2
+1
+1
+10
+2
+5
+1
+1
+1
+3
+1
+11
+2
+4
+2
+2
+1
+29
+4
+16
+1
+16
+1
+0
+1
+1
+0
+1
+1
+1
+4
+3
+0
+2
+29
+2
+9
+3
+24
+1
+3
+5
+1
+1
+7
+1
+3
+4
+6
+13
+1
+1
diff --git a/data/splits/y_train.csv b/data/splits/y_train.csv
new file mode 100644
index 0000000..5cca202
--- /dev/null
+++ b/data/splits/y_train.csv
@@ -0,0 +1,268 @@
+so_luong
+1
+1
+6
+1
+4
+4
+1
+9
+5
+3
+1
+32
+1
+2
+2
+6
+1
+2
+7
+18
+4
+3
+1
+1
+4
+1
+1
+3
+1
+36
+1
+6
+1
+2
+1
+10
+5
+1
+7
+1
+5
+27
+3
+4
+10
+2
+1
+1
+6
+7
+0
+1
+2
+2
+8
+1
+27
+1
+1
+1
+2
+1
+1
+1
+1
+1
+4
+24
+29
+1
+3
+11
+4
+1
+4
+4
+2
+1
+1
+1
+6
+13
+7
+3
+2
+2
+1
+5
+2
+7
+10
+2
+1
+4
+1
+18
+2
+6
+1
+10
+1
+2
+8
+4
+5
+3
+1
+2
+1
+1
+1
+1
+3
+4
+1
+3
+1
+1
+2
+1
+1
+3
+5
+29
+5
+1
+2
+1
+3
+1
+6
+5
+5
+1
+1
+1
+1
+3
+1
+1
+4
+3
+1
+13
+3
+2
+4
+2
+16
+1
+15
+2
+4
+2
+1
+5
+13
+3
+3
+1
+2
+3
+0
+1
+1
+5
+7
+14
+8
+0
+1
+2
+2
+1
+1
+16
+0
+12
+11
+1
+21
+4
+4
+1
+2
+0
+33
+1
+8
+3
+1
+5
+1
+1
+7
+0
+6
+1
+7
+2
+3
+1
+6
+1
+2
+7
+22
+1
+2
+6
+8
+3
+1
+10
+1
+7
+4
+1
+1
+6
+1
+1
+1
+1
+5
+4
+17
+8
+1
+3
+2
+1
+1
+2
+1
+1
+1
+0
+1
+4
+12
+12
+2
+1
+7
+15
+1
+1
+1
+3
+3
+2
+3
+13
+5
+1
+14
+1
+4
+8
+2
+0
+2
+2
+5
+2
+15
diff --git a/data/splits/y_val.csv b/data/splits/y_val.csv
new file mode 100644
index 0000000..d405b0c
--- /dev/null
+++ b/data/splits/y_val.csv
@@ -0,0 +1,90 @@
+so_luong
+2
+8
+1
+25
+1
+1
+1
+3
+0
+6
+7
+1
+0
+1
+64
+1
+1
+1
+16
+1
+5
+2
+0
+1
+2
+9
+39
+5
+1
+1
+1
+1
+1
+3
+2
+20
+1
+3
+11
+6
+1
+1
+4
+1
+1
+1
+1
+7
+1
+3
+20
+1
+12
+2
+8
+2
+2
+7
+0
+1
+4
+4
+1
+2
+3
+5
+1
+4
+1
+1
+16
+1
+2
+1
+7
+14
+1
+1
+1
+1
+1
+1
+1
+0
+5
+1
+5
+5
+4
diff --git a/models/columns_to_scale.txt b/models/columns_to_scale.txt
new file mode 100644
index 0000000..9af1b7e
--- /dev/null
+++ b/models/columns_to_scale.txt
@@ -0,0 +1,49 @@
+so_ca_cua_toa
+num_tasks
+num_cleaning_tasks
+num_trash_collection_tasks
+num_monitoring_tasks
+num_room_cleaning_tasks
+num_deep_cleaning_tasks
+num_maintenance_tasks
+num_support_tasks
+num_other_tasks
+num_wc_tasks
+num_hallway_tasks
+num_lobby_tasks
+num_patient_room_tasks
+num_clinic_room_tasks
+num_surgery_room_tasks
+num_outdoor_tasks
+num_elevator_tasks
+num_office_tasks
+num_technical_room_tasks
+cleaning_ratio
+trash_collection_ratio
+monitoring_ratio
+room_cleaning_ratio
+area_diversity
+task_complexity_score
+so_tang
+so_cua_thang_may
+dien_tich_ngoai_canh
+dien_tich_sanh
+dien_tich_hanh_lang
+dien_tich_wc
+dien_tich_phong
+dien_tich_tham
+doc_ham
+vien_phan_quang
+op_tuong
+op_chan_tuong
+ranh_thoat_nuoc
+dien_tich_kinh
+hour_start
+hour_end
+work_hours_numeric
+tasks_per_hour
+tasks_per_floor
+wc_per_floor
+cleaning_workload
+total_area
+area_per_floor
\ No newline at end of file
diff --git a/models/feature_selection_results.csv b/models/feature_selection_results.csv
new file mode 100644
index 0000000..96661a8
--- /dev/null
+++ b/models/feature_selection_results.csv
@@ -0,0 +1,22 @@
+num_features,feature_set,model,val_mae,val_r2
+49,All Features,Gradient Boosting,3.634581261520732,-0.012930925436683394
+20,Top 20,Random Forest,3.666060757466078,0.03739430732677618
+20,Top 20,Gradient Boosting,3.7771892175715056,-0.06012882358872096
+20,Top 20,XGBoost,3.641647574774335,0.015787720680236816
+20,Top 20,LightGBM,3.748396263264872,0.049515999401856026
+25,Top 25,Random Forest,3.614868221684315,0.06809266983693418
+25,Top 25,Gradient Boosting,3.780284523284983,-0.05195262322328653
+25,Top 25,XGBoost,3.760102046004842,-0.01795041561126709
+25,Top 25,LightGBM,3.7433780829414327,0.04227330886423497
+30,Top 30,Random Forest,3.6134273351492454,0.0712211389609152
+30,Top 30,Gradient Boosting,3.8167183021556417,-0.08445111108289871
+30,Top 30,XGBoost,3.8263845290528256,-0.036774635314941406
+30,Top 30,LightGBM,3.6913964071303145,0.0628657702857146
+35,Top 35,Random Forest,3.6403561822073054,0.07301240475906845
+35,Top 35,Gradient Boosting,3.91511098479336,-0.11251667765570872
+35,Top 35,XGBoost,3.884480058477166,-0.052086710929870605
+35,Top 35,LightGBM,3.8490180856510774,0.0009015985532334625
+40,Top 40,Random Forest,3.6265115302924293,0.07854970083459945
+40,Top 40,Gradient Boosting,3.8841932753369783,-0.08916849029447449
+40,Top 40,XGBoost,3.9312105964911117,-0.07247793674468994
+40,Top 40,LightGBM,3.747326913269243,0.029446228984498002
diff --git a/models/final_model_random_forest_top15.pkl b/models/final_model_random_forest_top15.pkl
new file mode 100644
index 0000000..66ed4c8
Binary files /dev/null and b/models/final_model_random_forest_top15.pkl differ
diff --git a/models/final_model_random_forest_top30.pkl b/models/final_model_random_forest_top30.pkl
new file mode 100644
index 0000000..44b9770
Binary files /dev/null and b/models/final_model_random_forest_top30.pkl differ
diff --git a/models/kfold_cv_results.csv b/models/kfold_cv_results.csv
new file mode 100644
index 0000000..40d1704
--- /dev/null
+++ b/models/kfold_cv_results.csv
@@ -0,0 +1,7 @@
+Model,Mean_MAE,Std_MAE,Mean_R2,Std_R2
+Gradient Boosting,3.3027367118164057,0.8887355706131049,-0.10233682335888679,0.5154478192871355
+XGBoost,3.323695227191383,0.7236534911368803,-0.14202730655670165,0.5722418063476958
+Random Forest,3.352265185800016,0.8553895357341633,-0.06523395173555772,0.35068316384382126
+LightGBM,3.401600572401869,0.8548539009927945,-0.006448200247211444,0.24861511037048697
+Linear Regression,3.765361427841345,0.8860772035556437,-0.17797005506788818,0.5737173906817382
+Decision Tree,3.8242160456852985,0.8261306554174034,-0.7565366143260073,1.4465792608602213
diff --git a/models/scaler_final.pkl b/models/scaler_final.pkl
new file mode 100644
index 0000000..1666012
Binary files /dev/null and b/models/scaler_final.pkl differ
diff --git a/models/selected_features_top15.txt b/models/selected_features_top15.txt
new file mode 100644
index 0000000..1b5dae1
--- /dev/null
+++ b/models/selected_features_top15.txt
@@ -0,0 +1,15 @@
+op_chan_tuong
+loai_hinh
+so_cua_thang_may
+num_hallway_tasks
+cleaning_ratio
+op_tuong
+area_diversity
+num_office_tasks
+tong_gio_lam
+num_tasks
+dien_tich_ngoai_canh
+num_clinic_room_tasks
+doc_ham
+num_elevator_tasks
+num_maintenance_tasks
\ No newline at end of file
diff --git a/models/selected_features_top30.txt b/models/selected_features_top30.txt
new file mode 100644
index 0000000..6010c46
--- /dev/null
+++ b/models/selected_features_top30.txt
@@ -0,0 +1,30 @@
+dien_tich_phong
+tasks_per_hour
+num_trash_collection_tasks
+num_surgery_room_tasks
+dien_tich_hanh_lang
+area_diversity
+num_lobby_tasks
+hour_end
+dien_tich_ngoai_canh
+monitoring_ratio
+num_patient_room_tasks
+num_monitoring_tasks
+tasks_per_floor
+work_hours_numeric
+trash_collection_ratio
+dien_tich_tham
+so_tang
+so_ca_cua_toa
+dien_tich_wc
+num_wc_tasks
+dien_tich_kinh
+num_elevator_tasks
+num_office_tasks
+hour_start
+cleaning_ratio
+num_technical_room_tasks
+ranh_thoat_nuoc
+num_room_cleaning_tasks
+num_deep_cleaning_tasks
+num_tasks
\ No newline at end of file
diff --git a/models/training_report_final.json b/models/training_report_final.json
new file mode 100644
index 0000000..ca41da4
--- /dev/null
+++ b/models/training_report_final.json
@@ -0,0 +1,104 @@
+{
+ "timestamp": "2026-01-08 17:59:10",
+ "model_name": "Random Forest",
+ "num_features": 30,
+ "total_features_available": 49,
+ "training_samples": 356,
+ "test_samples": 89,
+ "test_mae": 2.959679790870802,
+ "test_mse": 22.52809628510788,
+ "test_rmse": 4.74637717476265,
+ "test_r2": 0.4146924609040473,
+ "baseline_val_mae": 3.634581261520732,
+ "improvement_vs_baseline": 0.6749014706499299,
+ "improvement_pct": 18.568892042533307,
+ "k_fold_cv": "Completed (5-fold)",
+ "feature_selection_methods": [
+ "Random Forest",
+ "Mutual Information",
+ "Correlation"
+ ],
+ "selected_features": [
+ "dien_tich_phong",
+ "tasks_per_hour",
+ "num_trash_collection_tasks",
+ "num_surgery_room_tasks",
+ "dien_tich_hanh_lang",
+ "area_diversity",
+ "num_lobby_tasks",
+ "hour_end",
+ "dien_tich_ngoai_canh",
+ "monitoring_ratio",
+ "num_patient_room_tasks",
+ "num_monitoring_tasks",
+ "tasks_per_floor",
+ "work_hours_numeric",
+ "trash_collection_ratio",
+ "dien_tich_tham",
+ "so_tang",
+ "so_ca_cua_toa",
+ "dien_tich_wc",
+ "num_wc_tasks",
+ "dien_tich_kinh",
+ "num_elevator_tasks",
+ "num_office_tasks",
+ "hour_start",
+ "cleaning_ratio",
+ "num_technical_room_tasks",
+ "ranh_thoat_nuoc",
+ "num_room_cleaning_tasks",
+ "num_deep_cleaning_tasks",
+ "num_tasks"
+ ],
+ "cols_to_scale": [
+ "so_ca_cua_toa",
+ "num_tasks",
+ "num_cleaning_tasks",
+ "num_trash_collection_tasks",
+ "num_monitoring_tasks",
+ "num_room_cleaning_tasks",
+ "num_deep_cleaning_tasks",
+ "num_maintenance_tasks",
+ "num_support_tasks",
+ "num_other_tasks",
+ "num_wc_tasks",
+ "num_hallway_tasks",
+ "num_lobby_tasks",
+ "num_patient_room_tasks",
+ "num_clinic_room_tasks",
+ "num_surgery_room_tasks",
+ "num_outdoor_tasks",
+ "num_elevator_tasks",
+ "num_office_tasks",
+ "num_technical_room_tasks",
+ "cleaning_ratio",
+ "trash_collection_ratio",
+ "monitoring_ratio",
+ "room_cleaning_ratio",
+ "area_diversity",
+ "task_complexity_score",
+ "so_tang",
+ "so_cua_thang_may",
+ "dien_tich_ngoai_canh",
+ "dien_tich_sanh",
+ "dien_tich_hanh_lang",
+ "dien_tich_wc",
+ "dien_tich_phong",
+ "dien_tich_tham",
+ "doc_ham",
+ "vien_phan_quang",
+ "op_tuong",
+ "op_chan_tuong",
+ "ranh_thoat_nuoc",
+ "dien_tich_kinh",
+ "hour_start",
+ "hour_end",
+ "work_hours_numeric",
+ "tasks_per_hour",
+ "tasks_per_floor",
+ "wc_per_floor",
+ "cleaning_workload",
+ "total_area",
+ "area_per_floor"
+ ]
+}
\ No newline at end of file
diff --git a/plots/final_model_test_results.png b/plots/final_model_test_results.png
new file mode 100644
index 0000000..b1191bb
Binary files /dev/null and b/plots/final_model_test_results.png differ
diff --git a/test3.ipynb b/test3.ipynb
new file mode 100644
index 0000000..e69de29