{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 125,
      "metadata": {
        "id": "GzPm0SV-Kg7m"
      },
      "outputs": [],
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "import os\n",
        "import pandas as pd\n",
        "import numpy as np\n",
        "from skbio.stats.ordination import pcoa\n",
        "from scipy.spatial.distance import squareform, pdist\n",
        "import matplotlib.pyplot as plt\n",
        "from matplotlib.patches import Ellipse\n",
        "from sklearn.decomposition import PCA\n",
        "from sklearn.preprocessing import StandardScaler\n",
        "from skbio.stats.distance import permanova\n",
        "from skbio import DistanceMatrix\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "from matplotlib.patches import Ellipse"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "!pwd"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "QDzeeQEe_C2B",
        "outputId": "d2a7386c-a55b-4831-fa93-f3793783ef25"
      },
      "execution_count": 126,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "/content\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 127,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "niaNpodIMX08",
        "outputId": "2949481d-185f-4249-efa7-c382c7a5d819"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Requirement already satisfied: scikit-bio in /usr/local/lib/python3.10/dist-packages (0.6.0)\n",
            "Requirement already satisfied: requests>=2.20.0 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (2.31.0)\n",
            "Requirement already satisfied: decorator>=3.4.2 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (4.4.2)\n",
            "Requirement already satisfied: natsort>=4.0.3 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (8.4.0)\n",
            "Requirement already satisfied: numpy>=1.17.0 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (1.25.2)\n",
            "Requirement already satisfied: pandas>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (2.0.3)\n",
            "Requirement already satisfied: scipy>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (1.11.4)\n",
            "Requirement already satisfied: h5py>=3.6.0 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (3.9.0)\n",
            "Requirement already satisfied: hdmedians>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (0.14.2)\n",
            "Requirement already satisfied: biom-format in /usr/local/lib/python3.10/dist-packages (from scikit-bio) (2.1.16)\n",
            "Requirement already satisfied: Cython>=0.23 in /usr/local/lib/python3.10/dist-packages (from hdmedians>=0.14.1->scikit-bio) (3.0.10)\n",
            "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.5.0->scikit-bio) (2.8.2)\n",
            "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.5.0->scikit-bio) (2023.4)\n",
            "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.5.0->scikit-bio) (2024.1)\n",
            "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->scikit-bio) (3.3.2)\n",
            "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->scikit-bio) (3.7)\n",
            "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->scikit-bio) (2.0.7)\n",
            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->scikit-bio) (2024.6.2)\n",
            "Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from biom-format->scikit-bio) (8.1.7)\n",
            "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=1.5.0->scikit-bio) (1.16.0)\n",
            "Requirement already satisfied: xlsxwriter in /usr/local/lib/python3.10/dist-packages (3.2.0)\n"
          ]
        }
      ],
      "source": [
        "# 2. Install Necessary Tool\n",
        "!pip install scikit-bio\n",
        "!pip install xlsxwriter"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 128,
      "metadata": {
        "id": "fdkDqeZeJr8F",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 304
        },
        "outputId": "9c98e5fb-625e-4404-c513-a4f3a566950f"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "tax        Citrobacter koseri  Fusobacterium mortiferum  Waltera intestinalis  \\\n",
              "barcode09                1923                         1                    47   \n",
              "barcode10                4097                         3                   107   \n",
              "barcode11                  95                      6898                  2410   \n",
              "barcode12                 591                         0                     1   \n",
              "barcode13                3236                         4                    61   \n",
              "barcode14                  97                      2615                  1695   \n",
              "\n",
              "tax        Faecalibacterium butyricigenerans  Faecalibacterium prausnitzii  \\\n",
              "barcode09                                  2                            13   \n",
              "barcode10                                375                           135   \n",
              "barcode11                               2216                          2289   \n",
              "barcode12                                  0                             1   \n",
              "barcode13                                  5                            17   \n",
              "barcode14                               1619                          1547   \n",
              "\n",
              "tax        Ruthenibacterium lactatiformans  Klebsiella pneumoniae  \\\n",
              "barcode09                              915                     43   \n",
              "barcode10                              221                    111   \n",
              "barcode11                                1                      2   \n",
              "barcode12                                0                   2576   \n",
              "barcode13                             1941                     75   \n",
              "barcode14                                5                      4   \n",
              "\n",
              "tax        Phascolarctobacterium faecium  [Ruminococcus] gnavus  \\\n",
              "barcode09                              0                    831   \n",
              "barcode10                            801                    197   \n",
              "barcode11                            946                      2   \n",
              "barcode12                              0                      1   \n",
              "barcode13                              1                   1194   \n",
              "barcode14                            693                      2   \n",
              "\n",
              "tax        Phocaeicola massiliensis  ...  Prevotella albensis  \\\n",
              "barcode09                         0  ...                    0   \n",
              "barcode10                         8  ...                    0   \n",
              "barcode11                      1602  ...                    0   \n",
              "barcode12                         1  ...                    0   \n",
              "barcode13                         0  ...                    0   \n",
              "barcode14                       472  ...                    1   \n",
              "\n",
              "tax        Peptoniphilus faecalis  Anaerococcus senegalensis  \\\n",
              "barcode09                       0                          1   \n",
              "barcode10                       0                          0   \n",
              "barcode11                       0                          0   \n",
              "barcode12                       0                          0   \n",
              "barcode13                       1                          0   \n",
              "barcode14                       0                          0   \n",
              "\n",
              "tax        Anaerococcus provencensis  Anaerococcus porci  \\\n",
              "barcode09                          1                   0   \n",
              "barcode10                          0                   0   \n",
              "barcode11                          0                   0   \n",
              "barcode12                          0                   0   \n",
              "barcode13                          0                   1   \n",
              "barcode14                          0                   0   \n",
              "\n",
              "tax        Paludibacter propionicigenes  Anaerococcus octavius  \\\n",
              "barcode09                             1                      1   \n",
              "barcode10                             0                      0   \n",
              "barcode11                             0                      0   \n",
              "barcode12                             0                      0   \n",
              "barcode13                             0                      0   \n",
              "barcode14                             0                      0   \n",
              "\n",
              "tax        Dialister invisus  Allisonella histaminiformans  \\\n",
              "barcode09                  1                             0   \n",
              "barcode10                  0                             0   \n",
              "barcode11                  0                             0   \n",
              "barcode12                  0                             0   \n",
              "barcode13                  0                             1   \n",
              "barcode14                  0                             0   \n",
              "\n",
              "tax        Xenophilus azovorans  \n",
              "barcode09                     0  \n",
              "barcode10                     0  \n",
              "barcode11                     0  \n",
              "barcode12                     0  \n",
              "barcode13                     0  \n",
              "barcode14                     1  \n",
              "\n",
              "[6 rows x 1012 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-4e5e3fe4-79b1-4c2c-8d96-994e2096491e\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th>tax</th>\n",
              "      <th>Citrobacter koseri</th>\n",
              "      <th>Fusobacterium mortiferum</th>\n",
              "      <th>Waltera intestinalis</th>\n",
              "      <th>Faecalibacterium butyricigenerans</th>\n",
              "      <th>Faecalibacterium prausnitzii</th>\n",
              "      <th>Ruthenibacterium lactatiformans</th>\n",
              "      <th>Klebsiella pneumoniae</th>\n",
              "      <th>Phascolarctobacterium faecium</th>\n",
              "      <th>[Ruminococcus] gnavus</th>\n",
              "      <th>Phocaeicola massiliensis</th>\n",
              "      <th>...</th>\n",
              "      <th>Prevotella albensis</th>\n",
              "      <th>Peptoniphilus faecalis</th>\n",
              "      <th>Anaerococcus senegalensis</th>\n",
              "      <th>Anaerococcus provencensis</th>\n",
              "      <th>Anaerococcus porci</th>\n",
              "      <th>Paludibacter propionicigenes</th>\n",
              "      <th>Anaerococcus octavius</th>\n",
              "      <th>Dialister invisus</th>\n",
              "      <th>Allisonella histaminiformans</th>\n",
              "      <th>Xenophilus azovorans</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>barcode09</th>\n",
              "      <td>1923</td>\n",
              "      <td>1</td>\n",
              "      <td>47</td>\n",
              "      <td>2</td>\n",
              "      <td>13</td>\n",
              "      <td>915</td>\n",
              "      <td>43</td>\n",
              "      <td>0</td>\n",
              "      <td>831</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>barcode10</th>\n",
              "      <td>4097</td>\n",
              "      <td>3</td>\n",
              "      <td>107</td>\n",
              "      <td>375</td>\n",
              "      <td>135</td>\n",
              "      <td>221</td>\n",
              "      <td>111</td>\n",
              "      <td>801</td>\n",
              "      <td>197</td>\n",
              "      <td>8</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>barcode11</th>\n",
              "      <td>95</td>\n",
              "      <td>6898</td>\n",
              "      <td>2410</td>\n",
              "      <td>2216</td>\n",
              "      <td>2289</td>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "      <td>946</td>\n",
              "      <td>2</td>\n",
              "      <td>1602</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>barcode12</th>\n",
              "      <td>591</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>2576</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>barcode13</th>\n",
              "      <td>3236</td>\n",
              "      <td>4</td>\n",
              "      <td>61</td>\n",
              "      <td>5</td>\n",
              "      <td>17</td>\n",
              "      <td>1941</td>\n",
              "      <td>75</td>\n",
              "      <td>1</td>\n",
              "      <td>1194</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>barcode14</th>\n",
              "      <td>97</td>\n",
              "      <td>2615</td>\n",
              "      <td>1695</td>\n",
              "      <td>1619</td>\n",
              "      <td>1547</td>\n",
              "      <td>5</td>\n",
              "      <td>4</td>\n",
              "      <td>693</td>\n",
              "      <td>2</td>\n",
              "      <td>472</td>\n",
              "      <td>...</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>6 rows × 1012 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-4e5e3fe4-79b1-4c2c-8d96-994e2096491e')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-4e5e3fe4-79b1-4c2c-8d96-994e2096491e button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-4e5e3fe4-79b1-4c2c-8d96-994e2096491e');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-478e5c46-6b79-4118-9b95-be2a872393c8\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-478e5c46-6b79-4118-9b95-be2a872393c8')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-478e5c46-6b79-4118-9b95-be2a872393c8 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df"
            }
          },
          "metadata": {},
          "execution_count": 128
        }
      ],
      "source": [
        "# 1. prepare data sample x species_abundance\n",
        "\n",
        "df = pd.read_csv(\"abundance_table_species.tsv\", sep='\\t')\n",
        "df = df.set_index('tax', inplace=False)\n",
        "df = df.transpose()\n",
        "df"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 129,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 237
        },
        "id": "Wum_Uk3xNbcH",
        "outputId": "c024446d-c795-449a-92cd-b02fea317c1b"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   sample_id  sample_info\n",
              "0  barcode09            1\n",
              "1  barcode10            0\n",
              "2  barcode11            0\n",
              "3  barcode12            1\n",
              "4  barcode13            1\n",
              "5  barcode14            1"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-6a388a0e-808b-4709-b99f-e2b608e11737\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>sample_id</th>\n",
              "      <th>sample_info</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>barcode09</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>barcode10</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>barcode11</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>barcode12</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>barcode13</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>barcode14</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-6a388a0e-808b-4709-b99f-e2b608e11737')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-6a388a0e-808b-4709-b99f-e2b608e11737 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-6a388a0e-808b-4709-b99f-e2b608e11737');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-b90b4e0a-80e8-48d2-9ecf-334c58e5b6d8\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-b90b4e0a-80e8-48d2-9ecf-334c58e5b6d8')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-b90b4e0a-80e8-48d2-9ecf-334c58e5b6d8 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df_trait",
              "summary": "{\n  \"name\": \"df_trait\",\n  \"rows\": 6,\n  \"fields\": [\n    {\n      \"column\": \"sample_id\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 6,\n        \"samples\": [\n          \"barcode09\",\n          \"barcode10\",\n          \"barcode14\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sample_info\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 129
        }
      ],
      "source": [
        "num_samples = 6\n",
        "\n",
        "# Create sample_id\n",
        "sample_ids = range(1, num_samples + 1)\n",
        "\n",
        "# Create sample_info with random 0s and 1s\n",
        "sample_info = np.random.randint(2, size=num_samples)\n",
        "\n",
        "# Create the DataFrame\n",
        "df_trait = pd.DataFrame({'sample_id': sample_ids, 'sample_info': sample_info})\n",
        "\n",
        "# Display the DataFrame\n",
        "df_trait.head()\n",
        "df_trait.loc[:, \"sample_id\"] = df.index\n",
        "df_trait"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 142,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "a_D0HzsUN8k8",
        "outputId": "ae402e46-673a-4475-aa1c-12d030b6ba1d"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            ">>> distance matrix has been calculated (6, 6)\n"
          ]
        }
      ],
      "source": [
        "#5. calculate distance matrix\n",
        "sliced_counts_relative = df\n",
        "distance_matrix_braycurtis = squareform(pdist(sliced_counts_relative, \"braycurtis\"))\n",
        "distance_matrix_euclidean = squareform(pdist(sliced_counts_relative, \"euclidean\"))\n",
        "print(\">>> distance matrix has been calculated\", distance_matrix_braycurtis.shape)"
      ]
    },
    {
      "cell_type": "markdown",
      "source": [],
      "metadata": {
        "id": "39LLpMLyFuAh"
      }
    },
    {
      "cell_type": "code",
      "execution_count": 143,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "UtMV-T2nO4VU",
        "outputId": "04f969be-2540-40e7-aed4-fc031ea286f0"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(6, 6)"
            ]
          },
          "metadata": {},
          "execution_count": 143
        }
      ],
      "source": [
        "#6. calculatePCoA\n",
        "pcoa_results_braycurtis = pcoa(distance_matrix_braycurtis)\n",
        "pcoa_results_braycurtis.samples.shape"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 144,
      "metadata": {
        "id": "l9K0zRADO913"
      },
      "outputs": [],
      "source": [
        "evalues = pcoa_results_braycurtis.eigvals\n",
        "evectors = pcoa_results_braycurtis.samples\n",
        "#variances = evalues.div(evalues.sum()).mul(100)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 145,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "0lI96SGhPJkd",
        "outputId": "4f3d7167-2ec2-43cd-8852-879b4fe174e7"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Sample Size: 6\n",
            "Number of Groups: 2\n",
            "Number of Permutations: 999\n",
            "P-Value: 0.731\n"
          ]
        }
      ],
      "source": [
        "#7. Calculate permanova\n",
        "\n",
        "\n",
        "# distance_matrix = squareform(pdist(sliced_counts_relative, \"braycurtis\"))\n",
        "distance_matrix = DistanceMatrix(distance_matrix_braycurtis, sliced_counts_relative.index)\n",
        "\n",
        "# prepare dataframe traits (index=sample_id)\n",
        "groups_list = df_trait[\"sample_info\"]\n",
        "df_groups_list = pd.DataFrame(groups_list)\n",
        "df_groups_list = df_groups_list.set_index(df_trait.loc[:, 'sample_id'])\n",
        "\n",
        "# permanova results\n",
        "permanova_results = permanova(distance_matrix, df_groups_list, column=\"sample_info\", permutations=999)\n",
        "\n",
        "# labeling\n",
        "df_permanova = pd.DataFrame(permanova_results).T\n",
        "perm_sample_size = df_permanova.loc['PERMANOVA results', 'sample size']\n",
        "perm_num_groups = df_permanova.loc['PERMANOVA results','number of groups']\n",
        "perm_num_permutations = df_permanova.loc['PERMANOVA results','number of permutations']\n",
        "perm_p_value = df_permanova.loc['PERMANOVA results','p-value']\n",
        "\n",
        "iteration =\"0\"\n",
        "output_name = f\"data_permanova_control_trait_{iteration}.xlsx\"\n",
        "filepath_to_excel_perm = f\"result_permanova_{iteration}.xlsx\"\n",
        "df_permanova.to_excel(filepath_to_excel_perm, index=True)\n",
        "\n",
        "print(\"Sample Size:\", perm_sample_size)\n",
        "print(\"Number of Groups:\", perm_num_groups )\n",
        "print(\"Number of Permutations:\", perm_num_permutations)\n",
        "print(\"P-Value:\", perm_p_value)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 146,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "jTQHvvZnPKdF",
        "outputId": "602745c9-6c75-4534-a100-d870bfdd27f6"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "['0' '1'] {1: '#FA7070', 0: '#898121'}\n"
          ]
        }
      ],
      "source": [
        "#!!!!!!! 8. match legends with df traits\n",
        "traits = df_trait.loc[:,'sample_info']\n",
        "traits_unique = traits.unique()\n",
        "traits_unique_sorted = np.sort(traits_unique).astype(str)\n",
        "traits_unique_sorted\n",
        "trait_1 = traits.unique()[0]\n",
        "trait_2 = traits.unique()[1]\n",
        "# trait_3 = traits.unique()[2]\n",
        "# trait_4 = traits.unique()[3]\n",
        "# trait_5 = traits.unique()[4]\n",
        "# trait_2 = traits.unique()[1]\n",
        "# colors = {trait_1: '#FA7070', trait_2: '#19A7CE'}\n",
        "colors = {\n",
        "    trait_1: '#FA7070',  # Existing color for trait 1\n",
        "    trait_2: '#898121',  # Existing color for trait 2\n",
        "    # trait_3: '#74E291',  # Green\n",
        "    # trait_4: '#5BBCFF',  # Blue\n",
        "    # trait_5: '#874CCC'   # Purple\n",
        "}\n",
        "\n",
        "print(traits_unique_sorted, colors)\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 147,
      "metadata": {
        "id": "MUrcCFRmQfaz"
      },
      "outputs": [],
      "source": [
        "project=\"gsi\"\n",
        "batch=0\n",
        "legend='control-treatment'\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 148,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "61h6Lxg7QSzy",
        "outputId": "29899c19-ea88-4f61-8a7d-f54b8ee0406a"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "###mean PC1    0.100019\n",
            "PC2    0.027870\n",
            "dtype: float64\n",
            "###cov 1 EighResult(eigenvalues=array([0.13309595, 0.18894883]), eigenvectors=array([[-0.13844168, -0.99037059],\n",
            "       [-0.99037059,  0.13844168]]))\n",
            "###calc-v 1 2 [0.13309595 0.18894883]\n",
            "###calc-w 1 2 [[-0.13844168 -0.99037059]\n",
            " [-0.99037059  0.13844168]]\n",
            "###calc-u 1 [-0.13844168 -0.99037059]\n",
            "###mean PC1   -0.200038\n",
            "PC2   -0.055740\n",
            "dtype: float64\n",
            "###cov 0 EighResult(eigenvalues=array([0.        , 0.23906705]), eigenvectors=array([[-0.04386616, -0.99903742],\n",
            "       [-0.99903742,  0.04386616]]))\n",
            "###calc-v 0 2 [0.         0.23906705]\n",
            "###calc-w 0 2 [[-0.04386616 -0.99903742]\n",
            " [-0.99903742  0.04386616]]\n",
            "###calc-u 0 [-0.04386616 -0.99903742]\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "<ipython-input-148-acc646937843>:13: MatplotlibDeprecationWarning: Passing the angle parameter of __init__() positionally is deprecated since Matplotlib 3.6; the parameter will become keyword-only two minor releases later.\n",
            "  ell = Ellipse(mean, v[0], v[1], angle, color=color, fill=False, linewidth=1.0)\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x1200 with 1 Axes>"
            ],
            "image/png": "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NpvVv+PtnbeOtP2Orlu3DjNmzFC/f/3798c999yDqqqqTh/7l19+UY+9efPmdre94oorIEkSTj75ZJflW7ZswezZszF16lQ1juLj4zF69GjMmjXL63e7I758T30ZjHP16tW4/PLL1fozISEB48eP91p/+sOqVavUcSEeeOABt/Vmsxl33303AOD777/Hvn37/Pr6SnJh0qRJ6kPBzkhKSsKgQYMAwGNrZWU8iu4wm8244IILAAAvvvhit45FARTanidEgeHcL8+bF154Qd1m9erVQgghWlpa1D58J598crfKsGXLFpGdna2+hsViEXFxcS7jHSxatKjdY/z4448CgIiPjxeNjY1CCCFeffVVAUAMHz68W+VT+k7n5uZ63eaee+5Ry3v48GG3fb31Bbzjjjtc+kUmJia6jOsxdepUUVNTo25/4MABkZ6eLmJiYtS+iW37O7777rvder+dlZGRIQCIm2++2es2//znP9VxPhoaGjp1fKVv7AMPPCBOPPFEtZ9mYmKiS39LT31nlX2vueYar8evqKhQx2R5++23O1W2+vp6ceGFF7qUIy4uzqV/68iRI932W7lypUv5Y2Ji1HMKQCQlJYnvvvvObT/n/qafffaZSEtLEwBEdHS0iIyMVNfFx8eLjRs3uuw7btw4kZSU5HFMmvT0dHHbbbep2zqPgXLnnXeq8ZmUlCSMRqPLZz1v3jyX/rIJCQku47eMGDFCHDlyxO29dGeMiUC9l2XLlrmcl4iICJfzYjabvfbTdY6B6Ohol/IBEEOHDhXFxcUu+yj9l53Pu/P7GDdunMfP6/PPP1djNiEhweXzv+SSS4QQQrz00kvCaDS69bcGIO677z6vn+0///lPYTAYXN6L2WxWf8/MzBQbNmxw28/5c3788ceFJElqneZcvilTprj0w169erXLuEgWi8XtfCp/d3zxySefqN+ptv29Fc7fo3fffVf9exMbGyuioqLUdcnJyWL9+vUej1FeXq6Og+Ec+86/n3POOaKpqclt39zcXAFAPPnkk2LgwIFqbCmxt2/fPiFEa0y9/vrr6t/ImJgYl/MxZMgQUVlZKX766SeRkpKifv9NJpO6zcSJEz1+Fq+99prL35+EhASXsYUAiLvuusvj+1f2zc3NFW+//bb6nU9ISHCJn4KCAlFbW+vxGAsXLnSpt+Li4lx+79Onj9i2bZvL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yq4kEAA5QeV8E6fobqIiEO/l+++/FxkZGeoxjUajSElJEVFRUS7nuG2iYv/+/SI9Pd2l/nM+v3//+9/bvdB/88031W0jIiJE7969RW5urpg4cWKnPq/uJiqEEOI///mPy/mLjIwUKSkp6k2l8vPWW2916rgdvYeKigqRmpqqru/Vq5dap/34449ej+nJyJEjBQDx4osvelzv/D169913RVxcnAAgYmNjXeqtxMRE8fPPP3s8RnV1tTjrrLPcvvuJiYku3weTyeS2rxYSFULI59q5/LGxscJisaif/yeffOL1+N1NVAghxLvvvusSa/Hx8errA3KSaNu2bV6PL4T8QMP5PSQmJrokGNv69NNPXf7GRkdHq+c8JibG5W9EdxIVixcvVr8zCQkJIjIyUl2Xk5OjJnW7o+111zvvvON128rKSjF48GB1WyV5oMTqDTfc0O71Snv1l81mE1OmTHG7lpEkSUiSJJ544ol293c4HOKvf/2ry/cmKipKpKSkqA+klJ/vv//ebX9lXVcTFUK4XgtLkqQmVpTv8EsvveR1X19fX0kWRUREiOLiYp/KpdQVyt+j5ORkl78tyvf2jTfe8HoM5bPv6Ke9unvChAkCgHj66ad9KjcFH7t+EHkxZMgQrF+/Hp999hmuueYaDB48GLGxsaipqUF8fDyOOeYY3HHHHVi/fj2+/PJLtxGDhw0bhq1bt2L27NkYNWoUTCYTmpqa0K9fP9x4443YunWrOhq1QhkU85RTTlH7R3ZkxowZMBgMaGlp8Tj3eijMmzcP33zzDS644AKkp6ejrq4OcXFxmDJlCl599VUsW7bM43RYJpMJX3/9Na699lr07dsX9fX1KCwsRGFhYcDn0vYkKSkJa9aswZNPPomxY8ciIiICkiRh2LBheOihh7B58+ZOTePpidlsxtdff42///3vGDRoEJqampCQkICTTz4ZS5Yswdy5czs8xtSpU9UxIro6iKaz6OhofPDBB/jss88wffp0ZGVlwWq1wmQyYcSIEbjtttvw4osvuu03adIkbN++HXfddReGDBkCh8MBIQSGDBmCu+++G9u3b/epWWhXvPDCC5g9e7baRebAgQMoLCz02PzdF3fccQfWrVuHyy+/HH369EFDQwOioqJw3HHH4amnnsLPP/8csJle/P1eJk6ciF27duHJJ5/ESSedhMTERFRVVcFo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Lsfq6H29/vrr+OMf/+j2uVZVVWHChAmoq6vDiSeeiLKyMnz77be45ppr4HA4cO211wIARo0ahQsuuAAffPAB0tPTcfrpp6vHOOGEE3w8i0SBk5SUFOoiEAUUY5z0jjFOeqf5GBcUVoYOHSqGDh3a7jZ2u11s27ZNbNu2Tdjt9na3LS8vF6mpqQKAeOKJJ9y2/+GHH0RxcbEQQohbb71VABBTpkwRNTU16jbbt28XaWlpAoD49NNPXfbPzc0VAERGRobYsWOHury0tFT0799fABBff/21yz6TJk0SAMS+ffs8lvnKK68UAAQA8e6777qtf/LJJwUAUVBQIIqKitTlR44cEYMGDRIAxHPPPefxmCtWrPD+YbXx2muvCQDi4Ycf9rh+xYoVajmnT58uGhsbXdZXV1eLzMxMYTQaxVtvveWy7ueffxZJSUkiNjZWlJSUqMtbWlrERx99JJqbm122LykpEePGjRMAxKpVq1zWPfzwwwKAeO2119p9HwDE/fffLxwOhxBCCIfDIWbOnCkAiKFDh4phw4a5lGX58uUCgMjNze32+3L+rC655BJhtVrVdR999JEAIHJyclyOtW/fPgFATJo0yeP7ak9nviNERERERD2dL/eh/sSuHz3cyy+/jNLSUpx++um4++673VoZTJgwAWlpaaivr8crr7wCg8GAf//734iLi1O3GTx4MGbNmgUAXltUzJ07F4MGDVJ/79WrF2688UYAwLffftulsp955pkurQ0Uzz77LABg3rx5SE9PV5dnZmbiiSeeaLecgRAZGYnnnnvObUrOV199FUePHsXtt9+Oyy67zGXduHHj8Ne//hV1dXV466231OUmkwnnnXceIiIiXLZPTU3FY489BgD4+OOPu1TO/Px8PPLII2o3G0mScMcddwAAtm3bhqeffhqpqanq9ieffDJGjx6NwsJCl8F4Onpfs2bNQl1dHd588023MsTHx+P5559HZGSkuuy8887DsGHDcODAAc0P+kMEyF209u3bByFEqItCFBCMcdI7xjjpXTjEOLt+9HDLly8HANxwww3tbrd+/Xo0NjZi3LhxHufc/dOf/oTbbrsNq1evhsPhcEt4nHrqqW77DBw4EABw9OjRLpX9nHPOcVt24MABHDhwAKmpqR5f86yzzkJiYiJ2796NoqIit+4PgTBmzBj07t3bbflXX30FADj//PM97nfiiScCAH766Se3dRs3bsRXX32FwsJCNDQ0QAiB2tpaAMBvv/3WpXJOnjzZLQGSn58PAIiIiPA4DWh+fj5++eUXHD16FHl5eZ16Xz///LPburFjxyIlJcVt+cCBA7FlyxaX1yHSsvr6+lAXgSigGOOkd4xx0jutxzgTFT3cwYMHAQD9+vVrd7sjR44AgNebxMTERCQkJKC6uhqVlZVuN5vZ2dlu+yitMpqamjpbbABATk6O13Lm5uZ63EeSJOTm5qKqqgqHDx9uN1Hxj3/8Azt27HBZNnjwYNx///3dLifQOiXQxIkT292/rKxM/X9zczNmzpyJd955x+v2SsKiszwlU5QxQjIyMmA0Gr2udz6HXXlfCk9xAnQ/VoiIiIiIKHwwUUF+4zwzR1vdGbjSm7ZdKXzVXjmdffnll+oMJIpJkyZ1OlHhrZzKDB0zZsxATEyM1/2dW7DMmzcP77zzDoYPH47HH38cY8aMQVJSEiIiIrBr1y4MGjSoy0242jtHnTl/vrwvu92OoUOHdut1iIiIiIhIn5io6OH69OmDHTt2YM+ePRg+fLjX7bKysgAAhYWFHtdXV1ejqqoKUVFRIR1BtqNyOq/z1ILAmTJ9Z6BkZ2dj586duP/++zF27Fif9vnoo48AAO+88w4KCgpc1u3du9fvZeyKjt6XEAJCCJ8TRkThSOnaRqRXjHHSO8Y46Z3WY5yPL3u4U045BQDw4osvtrvd2LFjERUVhfXr13scA0EZ8HHixIndfipuNpsBADabrdP75uTkICcnB6Wlpfj666/d1i9ZsgSVlZXo379/t8en6E45AWDatGkAWpMPvqisrATguYvEe++953Gf7pazs3x5X/4YuCfY74uoMxiXpHeMcdI7xjjpndZjnImKHu7aa69Fr1698MUXX+Dpp592u4Fcs2YNSkpKEBMTg6uvvhoOhwO33HKLy+Aru3btwqOPPgoAuO2227pdJqVVxM6dO7u0/5///GcAwJ133onS0lJ1eVFREe655x4AwF/+8pdulrL75bzhhhuQlpaGxx9/HC+++KLaZUJhs9mwdOlSbNmyRV2mZD7/+9//umy7aNEivPHGGwEpZ2f58r6WLFni8r66olevXoiIiMCePXtgt9u7dSwif9NKCyeiQGGMk94xxknvtB7j7PrRwyUnJ+P999/HOeecgzvuuAPPPvssjjnmGDQ2NmL79u3YvXs3fvnlF6SlpeGxxx7DmjVrsGzZMuTn52PSpEmor6/HN998A6vVittuuw1nn312t8t0zjnn4PXXX8cf//hHnHrqqUhISAAgT6XqizvuuAPffPMNvvjiCwwYMABTp06FEAJff/01amtrcd555+Hmm2/udjmPO+44pKWlYdGiRZg8eTLy8/NhMBhw9dVX4/jjj+9w/8TERHz88cc4++yzccMNN+DRRx/FsGHDkJSUhKKiImzYsAFVVVX46KOPMGzYMADAvffeiy+//BL3338/3n//fQwcOBC//fYb1q1bh7vvvhtPPvmk2+uceuqpsFgseOqpp7BlyxZkZWVBkiTcc889LlPG+ouv7+vDDz9st7tRR8xmM04//XR8+umnGDlyJMaMGQOz2YyJEyfiqquu8uM7IiIiIiKiYGKLCsLkyZOxadMm3HjjjRBCYPHixVi9ejUSEhLwyCOPqDOCxMXFYdWqVZgzZw569eqFTz75BN999x3GjRuHBQsW4JlnnvFLec4//3w89dRTyM7OxqeffopXXnkFr7zyis/7G41GfPLJJ3jmmWeQn5+PpUuX4quvvsKgQYPwwgsvYNGiRX4ZtNFisWDJkiWYNm0aNm7ciPnz5+OVV17Brl27fD7Gcccdh19//RX33nsv4uPjsWrVKixevBiFhYWYNGkS5s+fr3bPAYCTTjoJ33//PaZOnYq9e/fis88+g9lsxgcffIBbbrnF42tkZWXh448/xnHHHYfvv/8er776Kl555ZUuTwvrj/f14osvuryvrnr55Zfxpz/9CeXl5ViwYAFeeeUVtwFQiYiIiELNZAr982FfyjB//nwMHToUBoMB33//vbp848aNmDhxIgoKCjBs2DA8++yzgSwqESThj87iFDTKAIpbt271uo3D4VCb+Q8aNIgzKZCmCCHQ0tKCiIiIkA2oye8IBZIQAocOHUJ2djYHjSVdYoyT3vkjxkVtLRxr1kDs3g00NcFy111o+vJLGI47DtLv0653hs1m63ayw2QydTguwa+//gqLxYLrrrsOjz76KE444QQAcldvIQQGDRqEmpoajB07Fu+//z5GjRrVrTJRaHQlxn25D/UnXp0TUVBJkgSz2cyLW9ItSZLQp08fxjjpFmOc9K47MS6am2FbuBC2OXPg+PxziF27IAoLASHwfw8+iOH5+RjT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jRYsWKCz/+7v9M0HHug3zmeffVaLFi3SggULdM0116i1tVWSdNZZZ2nGjBmDfm+NjY36yU9+orvvvjvpPzcAAAAAAIUKJJkdDCr87/8ue+VKKRzud1/YtlWZn6/3P/1p3X3WWbr5k5+UHQxqxowZeuONN/T+++/rpZde0uc///kTjwmHVV1drffff19XX321rrnmGt17771au3atVq5cqcrKSq1Zs0YPPPCA/vKXv2jt2rXat2+fli1bJkm68cYb9f3vf19r335bJUVF8efdsmWLli1bpjfffFPvv/++zjvvPH33u9897ff35S9/Wffdd5+ys7OT8wMDAAAAAPRDoQJJFf7tb2Xv2DHk/f80Z44k6cpp07TryBG1//rX6ujo0Kc+9SnNnTtXl19+ufbt26fGxsb4Y2644QZJ0eJCUVGRLrzwQklSVlaW8vPztWLFCl199dUqLi6Wz+fTTTfdpNdff12tra2qr6/XZZddJgUCuul//I/4c7766qtav369Fi1apPnz5+uxxx7Tnj17Tvm9/f73v5ff79fFF198xj8fRLF0BqYj4zAdGYfpyDhM5/WMu7O7IYxkt7XJ/tvfRvSYyHvv6e4//lELFy7UM888I8uyNHbsWHV3d0uS/H5/fPbCUCd2WMc3yhzqtiTppE00bdvW9ddfr4cffnjYY33zzTf1pz/9SVOmTFEoFNLhw4c1b948rVu3btjPgej7U1FR4fYwAMeQcZiOjMN0ZBymS4WMM6MCSRNZtWrAco+TPblpkyTppZ07NbWwUHk+n1p279bEiRNlWZaWL1+upqamQR9bU1OjlpYWrVixQpLU09Ojjo4OLV68WM8//7xaWloUiUT0+OOP6+KLL1ZhYaEqKir06quvShkZ+s/f/EaSZEciuuSSS/Tb3/5W+/fvlyQdO3Ysvt/FUL73ve9p//792r17t9566y1VVVVRpDgDtm1r586dHBULY5FxmI6Mw3RkHKZLhYxTqEDS2Nu3n/J+v2VpX3u7Fv7qV/rWu+/q3z/2MUnSVy64QN/97nc1f/58rVixQpMnTx708RkZGXruued09913a968efrQhz6kAwcOaP78+Vq6dKk+/OEPa968eaqoqNCtt94qKXrU6Fe+8hWdvWCBGltaok/U26vZs2frwQcf1JVXXqmzzz5b5513nurq6uKPqays1LvvvqslS5Zo4cKFyfkBIe7YsWNuDwFwFBmH6cg4TEfGYTqvZ9yyvVxGwQC1tbWSFP9Q7SWhhx+Onu4xQlZVlQJf/nLyB3QSu6FB6u6Wiotl5ec7/noYnG3bqqurU21t7eDLdIAUR8ZhOjIO05FxmO5MMj7an0OZUYHkycoa3ceNVGyfit7e0Xk9AAAAAMCIUahA0ljTp4/q40YsVqgIBkfn9TCkWbNmuT0EwFFkHKYj4zAdGYfpvJ5xChVIGt+iRZLf368t58c/PvWD/H75zjvPwVFJgcDxw20yM6NfB5lR8dhjj2nOnDny+Xx66623+t133XXXqbS0VNNHq6CSBoIUi2A4Mg7TkXGYjozDdF7POIUKJI01ZoyOLajRquwtei7/Hf264E3ZsvXX7K3qtLoHfYzv3HNlFRQM+ZyhUCh5A4wVLGxb9knPe8455+iFF17Q4sWLBzzsc5/7nF555ZXkjQPatWuX20MAHEXGYToyDtORcZjO6xmnUIGk6O3t1h9+93+1bNf9eidns/ZmNKg+0CxZ0tfffluzn/wPzX76F1rTeFiStPrwYV34wgv6wPHTPv74xz/GnysQCOiee+7RggUL9Jvf/EZr1qzR4sWLdfbZZ2vBggXxY0R/9rOfae7cuTrrrLN0++23x4saa9as0YIFCzRv3jx985vfjD+vZVl69g9/0HlXXqmF55yja665Rq2trZKks846SzNmzBj0e7v44otVUlLiyM8NAAAAANAfhQokrLe3W8ufulnrVv9akUj/mQqRiFQ4JqA7vlCpCy7O1fV/ekEhvzTz0kv1xoYNen/NGr300kv6/Oc/H39MOBxWdXW13n//fV199dW65pprdO+992rt2rVauXKlKisrtWbNGj3wwAP6y1/+orVr12rfvn1atmyZJOnGG2/U97//fa1bt65fgWHLli36xVNPacWzz2r1m2/qvPPO03e/+93R+SEBAAAAAIaFQkUKsu2Ieno6FAr1yLYjbg9Hf3rl29q3Z9WQ958zP3oUaG1Nng61dOuVcyLquvRSffqmmzR37lxdfvnl2rdvnxobG+OPueGGGyRFiwtFRUW68MILJUlZWVnKz8/XihUrdPXVV6u4uFg+n0833XSTXn/9dbW2tqq+vl6XXXaZJOmmm26KP+err76q9Zs26byrrtKCCy7QY489pj1ncJwqEldUVOT2EABHkXGYjozDdGQcpvN6xgNuDwAjFw73qvnoyNcU+XwB+f0Z8vkD8vmiX/3+DPl9Afn8GfH7R6Kjo0Eb1jw3osds3PSynnvpiBYuXKhnnnlGlmVp7Nix6u6O7mPh9/uVnZ0tKXrG72BOPu93OOf/2rat6669Vg9/9atSICCrvHxE40ZyWJalyspKt4cBOIaMw3RkHKYj4zBdKmScGRVpJBIJqbe3Sz3d7eo61qTO9iNqazmg5qY9OtqwXQ2HN+vQwfXD+u9wfZ0ajmzRqrd/rkhk4Ckafa1e2yFJ2rTlmEqKAwoEwtq3d5MmTpwoy7K0fPlyNTU1DfrYmpoatbS0aMWKFZKknp4edXR0aPHixXr++efV0tKiSCSixx9/XBdffLEKCwtVUVGhV199VZL0n//5n/HnuuSSS/T8iy9qf329FAqps6Mjvt8FRo9t29q9e/eQRSgg1ZFxmI6Mw3RkHKZLhYwzoyIFBQJZmlBxlmw7onC4V5FISJFwSOFwUJFISOFwSJFI7/G2XkeWh9h2ROFQUAf3v3/Kfj6f1NIa0kM/3S+fz9J1nyyVJH10cbG+/e1v6gff/44WLVqoyonlaj66S3m50T0uOtqPRGd8+AL69a+f0h13LFVbW7syMjL01FNPaf78+Vq6dKk+/OEPS5Iuuugi3XrrrZKiR43efPPNCofDWrJkSXwss2fP1oMPPqirPvMZhcNh2X6/vvkv/6Kamho99thjuueee9TQ0KAlS5aosrJSq1evliRdfvnlWr16tRoaGlRZWakvfOELuuuuu5L+M00nHR0dbg8BcBQZh+nIOExHxmE6r2fcsr1cRsEAtbW1kqS6urqkP3e8yBEOKhwvfvSeKHoc/9rXyy98RY0NW0b8WuNKZ+kTV92frKH3Y1m+fktcYn/2H1/u4mtqlS8YklVSIis/35ExYGi2bauurk61tbXDWrIDpBoyDtORcZiOjMN0Z5JxJz+HDoYZFYjz+QLy+QJSRvawH5NfUHpGhYrMrFxZls+x2R6hUI8U6hn8/o52qfOY1JUrq6DgtM8X3csj8/geHv2LH/E/+/zJ/jYAAAAAIC1RqEBCJlUt0u6db434cdNmXKyy8tph9bVtO7q8JRJSJNyrcLg3PuMjEonejv45dPonk6TA8diHhtc/Eg4NmElypiyfP755qf/4BqYnZntkxAshplfvZ8yY4fYQAEeRcZiOjMN0ZBym83rGKVQgIWctuE5vr/jX026o2ZfPl6F5C64bdn/LsqKnk/gzpIycMxlmP+HuLkWsA4rIVqS4NF78OHnpixxYFWVHwgpFwkPO9hgRyxpwYouvzyku8UKIB2d7RCLuH6sLOImMw3RkHKYj4zCd1zNOoQIJyc8v1dz512jd6l8P+zFnzb9WefmlDo7q1HxZ2fIFsqI3MvJl5Zz5r0FstseJTU37Fj1ObHQ67NkeI3vx6OyS8PCLRKcSm90xWNEj3uYLJGW2x44dO+Lr3AATkXGYjozDdGQcpvN6xilUIGF/d9k31Hx0l/btWXXavpOqFunvPv6NURjV0CzLkp2RIfX2Rv8LnPmvQb/ZHkkQiYRPFDniS1x6+xdCHJrtEVtekxTx2R6Zx5eznCh+WJb/+OuF5fdzCQIAAADQH58SkLCMjGxde8Mv9edX7tX6NcsHXQbi82XorPnX6u8+/g0FYrMZ3JSZGS1SBINSTuLLSZLF5/PL5/Mn5WcUne3Re3w5S2/81JaTCyF2JJyEkQ948fhsj5PTEK2xWDpyaJOGOzkjvpeHP0M+X0b86NpY8SNWCAEAAACQ+ihUICkyMrJ12f/3HX34oi9r3fv/pX17VinY06nMrDxNqlqkeQuuc3W5xwAZxz/U9iZn2YQXRWd7ZMrvz0zK88X38IgdV3v86NqTCyHDkZkxshkhsdkeod7uMxl6P5bl63diS2zGR999Pfz+DFmWL+HXQvoaM2aM20MAHEXGYToyDtN5PeOWbTswhxyOGe3za01ld3dLDQ1SICCrvNzt4aQd247028MjWuToHVAIceL42mQ7cWpL/6NrT176AgAAAKSq0f4cyt+ekZ5iMypCIdmRiCwf/3o+Wmzb1r59+zVp0qSkLQM6+cSWvjM+ThRCHNjQVH2Or03C5BzL8sULHdGix/GZHvFCCLM9UkE04/s0adIk448aRnoi4zAdGYfpUiHjFCqQliy/X7bPJ0Ui0eUfWR7YNyONtLW1JfX5osewBqSM7ISfq+9sj9heHrFCSN/ihxOzPWw7olCoJznH16rvbI/YEpeMgYUQZns4ItkZB7yGjMN0ZBym83rG+Rsq0ldmptTdTaEC/ViW7/hMj2RtaBrqd3RtOH5k7fHTXJw6vlZ9Z3t0Jfxcls9/fDlLQH5/5okNTk8qhHi1Kg8AAIDUQaEC6SsjI1qoCAbdHgkM1e/42ozET5fpd3ztSUfX9l364sTxtXYkrFAkfHy2R2fCz3fyiS3RJS4nFUJ8/sQHDgAAgJRDoQLpKytLam+nUOGCadOmuT2ElJT842tPKnqcVPxwcrZH7PjaZLB8/n4ntvgGObrW5wuM6mwPMg7TkXGYjozDdF7POIUKpK/M48d29vayoeYo8/Gzdl2/2R5J0G+2x6BFj17nZ3skg2UNOLHl5KNrhzPbg4zDdGQcpiPjMJ3XM06hAmnL8vtlBwJSKCT19Eg5iU/Nx/Bs27YtfsQRzJD82R6x42pDCoeD8dkdfQshdrKKE/1fPD7b40zne9i2dLTZ0thi+/jJLbETWzLjR9f2nfEx2rM9gGTgOg7TkXGYzusZp1CB9JaVRaEC8JjobI9M+f2ZSXm+SCTc/7ja438+uRDihNhmqslgWb4+J7Zk9JvxEZvtwfG1AADABBQqkN4yM6XOTvapAAwWm+0hJff42kg4pPBJxY9IOKRQyJnriW1HFA4FFVbwjGd79HViL4/+R9f6T1ruAgAAMNr4GwjSW+xY0mBQtm0z/XqU5Ofnuz0E4IwM5/ha27bVHdyjCRVVp72mnHxiy8lH18YKIU6Iz/ZIQtXDsnwnFT36L3eJFUWY7WEOruMwHRmH6byecQoVSGtWRoZsn0+KRKKzKrISX1+PU7MsS1OmTHF7GIBjRpLx2B4VynBgtkc4GC+E9J3xYduRhF9rsNcOhXqOH1+buOjMjuPH1p4046NvIQTu4DoO05FxmC4VMs7/5YHMTKm7m0LFKLFtWwcOHNDEiROZwQIjuZXx4cz2GK7Y8bWRPqe39J3xcWK5i0OzPcLR11JvV8LPZfn8x5ezHJ/hEfvzSYUQrkfDx3UcpiPjMF0qZJxCBZCVFS1U9PRIBQVujyYttLS0aOLEiW4PA3BMqme83/G1GYlvNByb7dHvuNrjf+679MXR42tDPZI6E36+vie2xP4cK4TEZ36c5vhaE6R6xoHTIeMwndczTqEC6LNPBQAg+WKzPZJ3fG2of9HjpOUuseNsnRAruCSD5fPHNy31n1T86Nvm1X/tAgDAKRQqgIyM6NdwWHYoJCvArwUAeFW/2R5JEImETxQ+4kWP3gGFEEdneySDZR2f2ZHZ7+jakwsh6TDbAwCQ+vhEhrRn+XyyMzOjMyp6eiQKFY6bOnWq20MAHEXGU0fs+NrkzfbojS5niRyf4RH/84lCiJ2s4kT/F4/P9kjW8bW+k05v8cdOb/EFVFU1idOyYDSu4zCd1zPOJzJAii7/iBUq8vLcHo3xMjMz3R4C4Cgynp6isz0y5fcn5/2PRML9TmyJ/fnkQogT4sfXDsK2pYgtdbRJw6lTWJav34kt8dkdfWZ7cHytWQKBgEIhZ7KZzDE89thjuv/++7V582a9+eab+vCHPxy/74UXXtC//Mu/KBwO6x/+4R/0ne98x+khA6PK639XoVABSNFCRXt7tFABx23ZskW1tbVuDwNwDBlHMsRme0jJOL42NtvjeNHjpOJH7M/DPb62ucXS2OLhLYex7YjCoaDCCiZttkf/42oz4jM++i53wejp7GjQuvf/S/v2rFKwp1O2HdG7f/mJ5i24Tnn5pSN+vlAopMAozHA955xz9MILL+izn/1sv/bW1lbdeeedeu+99zR+/HgtXrxYK1as0IUXXuj4mIDR4vW/q3AVB6ToEaWSFArJDodl+VnDCwAwRzJne9i2raPNdRpbOl12pP/RtScXQpwQn+2RhKpHbLZHtLiREd/fI7bcJVYUYbbH4Hp7u/WnV76tDWueUyTS9w2xdffdd2vTlqXKyy/Ws8tf0oIF5+i9997TF7/4RR07dky2bev+++/XpZdeKik6A+JrX/uaXnrpJd11112aOXOmvvjFL6q1tVU+n09PP/20ampq9LOf/Uw/+clPZFmWLrroIj300EMKBAJas2aNbr75ZoXDYV199dX9xvnss8/qRz/6kYLBoKqrq/Xoo4+qsLBQZ5111qDf1x/+8Ad98IMfVHl5uSzL0o033qjnnnuOQgUwiihUAJIsv192ICCFQtElIDmJH8cHAIDJMjKyZVnJO742ctLpLeGTZnwMd7bHiF87FFQ4lJyTv6IzO44fW3t8xsdghRAT9PZ2a/lTN2vfnlUD7otEpMIxAd3xhYmq29ypa5Z8TFu2HtSMGTP0xhtvKCMjQwcOHNDixYu1Y8cOSVI4HFZ1dbXef/999fb2qqamRo8++qguvPBC9fT0qLe3V2vWrNEDDzygv/3tbyosLNSSJUu0bNkyff7zn9eNN96o+++/X5dddpl+/OMfx8eyZcsWLVu2TG+++aaysrL0wx/+UN/97nf1gx/8YMjvbf/+/ZowYUL89uTJk/WHP/whiT89AKdjxpUSSIasrGihoqeHQoXDcnNz3R4C4CgyDtMlM+Ox42ul5B1f2/fEltgsj/57fTg02yMcLbaotyvh57J8/uPLWU5e4tK/EOLWhqZ/euXbgxYpYs6Zny9Jqq3J07PP79HLL3xdH/zQHbr11lu1ceNGBQIB7du3T42NjRo3bpwk6YYbbpAULS4UFRXFZzBkZWUpKytLK1as0NVXX63i4mJJ0k033aSnnnpKN9xwg+rr63XZZZfF2++8805J0quvvqr169dr0aJFkqTe3t4hZ1LE2LY9KktPADd5/e8q/AYCMZmZUmdndEYFHGNZlqqrq90eBuAYMg7TeTnj/Y6vzUjebI9+x9Ue/3O4z3IXR4+vDSVn/6xooaPPcbX+jIGFkGEeX9vR0aANa54b0evXrXtey5/fr4ULF+qZZ56RZVkaO3asuru7j4/Pr+zs6H4s9hA/z5OLMsMp0ti2reuvv14PP/zwsMc6efJkrV+/Pv78e/fuVWVl5bAfD3idl6/jMRQqgJis4/+SEwxy5JqDbNtWfX19fN0nYBoyDtOlU8Zjsz2Sd3ztwONq+y53iR1n64RYwSUZ1q9ZftKeFAOtXtuh8z44Rpu2HFNJcUCBQFj79m7SpZd9QpZlafny5Wpqahr0sTU1NWppaYlvYBlb+rF48WL9j//xP3T33XdrzJgxevzxx3XppZeqsLBQFRUVevXVV/Wxj31M//mf/xl/rksuuUQ/+tGP9H/+z/9RZWWljh07pr1796qmpmbIsV922WW64447dPDgQY0fP16PP/44p37AKKlwHadQARxnZWTI9vmiCyuDwROFCyRdU1OTysvL3R4G4BgyDtOR8ZHrO9sjIwmzPSKR8CBFj94BbU7M9jhUv/6U9/t8UktrSA/9dL98PkvXfTJ68sdHFxfr29/+pn7w/e9o0aKFmjixXEcOb1ZWRockqaV5b/zo2id/9UstvfOram/vUGZmpp566inNnz9fS5cujR8jetFFF+nWW2+VFD1qNLaZ5pIlS+JjmT17th588EFdeeWVCofDsm1b3/zmN1VTU6PHHntM99xzjxoaGrRkyRJVVlZq9erVKiws1B133KELL7xQkUhE1113nT760Y8m/ecIuMnr13HLHmpuFTwpdoRMXV2dyyMxk93YKHV1SUVFsgoK3B6OkWzbVl1dnWpraz1bwQUSQcZhOjJunhPH14YGWeJyouhhR8KSpJdf+IoaG7aM+HXGlc7SJ666P9nD78cXX85y4vQWf5/lLj5f9L5TZZeMw3RnkvHR/hzKjAqgr8zMaKGip0eiUAEAANLASI+vzS8oPaNCRVZ2vjIyc+OFECfEj69NQPSfcS0drq+TP3DixBZ/rNDRZ68Pjq8FnEGhAugrttyjJzkbV2FwU6ZMcXsIgKPIOExHxtPbpKpF2r3zrRE/rnr6RRo7btqIHtNvtke4V+F+p7cc/3Of2R7JMqbAlm0renytgkpGWeXERqYnn+QSOH6SS4Yxx9fC+7x+Hec3Aegr8/i/JEQiskMhWRxN5Ygcjn+F4cg4TEfG09tZC67T2yv+9bQbavbl82Vo3oLrRvxaI53tcTp9T2zpW/DoWwgJh0IKDO8AlBG/diQSUjKqHpblixY5/CdmfPRd7hIrijDbA0Px+nWcT2FAH5Zlyc7Kis6o6OmRKFQ4YtOmTfF1boCJyDhMR8bTW35+qebOv0brVv962I85a/61yssvdXBUwxPbo0LKHrLPcNfvx46vjZx0esvJhRDbjiT9+7DtSHS2RyiYlOeLzuw4fmzt8RkfgxVCYA6vX8dJG3CyzMwThYq8PLdHAwAA4Dl/d9k31Hx0l/btWXXavpOqFunvPv6NURjV6IodXysl56S4eJEjHOxzdG3fJS7Rr06IhKOvp96uhJ/L8vmPL2c5eYlL/0IIG5XiVChUACfLypLa26XubrdHAgAA4EkZGdm69oZf6s+v3Kv1a5YPugzE58vQWfOv1d99/BvHP9DjVOKzPTKGnu0xXH1ne8RObokVQvoWPxyZ7REJKxQJS6Hk7PnW98QWvz8gnz9zYCHE58BaHbiKQgVwstiGmuGw7N5eWRkZ7o7HQF5fEwckiozDdGQcUrRYcdn/9x19+KIva937/6V9e1Yp2NOpzKw8TapapHkLrvPEco8zkeoZT+Zsj+iGpv2Pro3N+Iju79F7/M/OzPYIJ/GUmBOzPU5sXjqgEJImsz28nnHLtqMH8CA1jPb5tenKPnIkuvSjqEgWx5QCAAAASRGJhE/M9OhT/Dh56Yu8/jHVsgYUPXz+jIFthsz2GO3PocyoAAaTkxMtVHR3SxQqksq2bR0+fFhlZWVpUa1G+iHjMB0Zh+nIuLN8Pr98Pn9SlgPFZnsMXvQ4sdGpI7M9bDs+2yNZx9f6Tjq9JVb0iM/88AWSkslUyDiFCmAwseUfPT2yIxFZPo52SqbGxkaVlZW5PQzAMWQcpiPjMB0ZTw3R42ujsxeS4cRsj+DxDUz7Fz8iSVyGMvC1k1hQic/2yOxzdO2JJS4+X8DzGadQAQzCysyU7fdL4bAUDErZiW9qBAAAAMC7kj/bo/f4cpbe+KktJxdC7Eg4CSMf8OKnnO0RXVVj6dDBDRrOhAqfL6BwOCi/PzPJAx0ahQpgKNnZUmen1NVFoQIAAADAsEVne2Qm7cN9fA+PfhuYDiyEOCESCWm0t7akUAEMJVao4JjSpJs8ebLbQwAcRcZhOjIO05FxeE38+Fol/g+okUhY2bktys3Nkh0JR2d4DFIIceL42uGiUAEMJTaLIhSSHQrJCvDrkiwFbFAKw5FxmI6Mw3RkHCazLJ+KikqO/3l4m2kmYznMSLBDIDAEy+c7sakmsyqSiuN1YToyDtORcZiOjMN0Xs84hQrgVGKzKihUAAAAAMCooFABnEqfQsVobyADAAAAAOmIQgVwClZmpuT3R8/w6elxezjGyMoa3TVuwGgj4zAdGYfpyDhM5/WMU6gAToflH0llWZZmzJgx7I17gFRDxmE6Mg7TkXGYLhUyTqECOB021Ewq27Z1+PBhltLAWGQcpiPjMB0Zh+lSIeMUKoDTic2o6O2VHQq5OxZDNDQ0uD0EwFFkHKYj4zAdGYfpvJ5xChXAaVh+v5SZGb3BrAoAAAAAcBSFCmA42KcCAAAAAEZF2hcq3n77bX3iE59QSUmJ8vPzde655+qJJ54Y8fM0NjbqP/7jP/TP//zPmj9/vgKBgCzL0mOPPZb8QWP0xQoVPT2eXsuVKiorK90eAuAoMg7TkXGYjozDdF7PeMDtAbjpueee0/XXX69IJKLFixdr3Lhx+tOf/qQbb7xR69at049+9KNhP9dbb72lW2+91cHRwlWZmZLPJ0UiUjB4YoNNjJhlWSoqKnJ7GIBjyDhMR8ZhOjIO06VCxtN2RkVTU5NuueUWhcNhLV++XG+88YaWL1+uzZs3a/r06XrggQf0xhtvDPv5ysrK9L//9//Wo48+qvXr1+uzn/2sc4PHqLMsi+UfSWLbtjZs2MDMFBiLjMN0ZBymI+MwXSpkPG1nVPziF79QW1ubrrrqKi1ZsiTeXlZWpvvvv19LlizRAw88oIsuumhYz3f++efr/PPPj9/2+dK2BmSu7Gzp2LFooaKw0O3RAAAAAICR0vbT9EsvvSRJuvbaawfcd/nllys7O1uvvfaauvnXc8TEZlQEg7LDYXfHAgAAAACGSttCxdq1ayVJCxcuHHBfZmam5s6dq+7ubm3dunW0hwaP4pjS5MnIyHB7CICjyDhMR8ZhOjIO03k942m59KOtrU2tra2Sht7ttLKyUv/93/+tPXv2aN68eaM5PElSbW3toO07duzQtGnTBqwnsixrWG1e7jsUL/W1MzOlnh6pq0vKzfXEeL36fp6q78yZMyXptN+7l977VO/rlffe9GtEzKkyzns/8r5DoW/y+iZ6HScnqdvXq7/3br/3XrqOe6GvV997t3OSyn0TuY6PhrQsVHR0dMT/nDvEh828vDxJUnt7+6iMaSRCoZDq6uritysrK1VUVNSvLSMjQ7NmzVJjY6MOHz4cb6+oqFBJSYk2bdqkSCQiSfL7/Zo9e7aamppUX18f7zthwgSNGzdOW7ZsUSgUkhQNam1trVpaWnTgwIF43/Hjx2v8+PHatm2bgsFgvH3u3Llqa2vTvn374m2lpaUqKyvTjh07+i2tmTNnjjo7O7Vnz55429ixY1VeXq5du3bp2LFj8faamhp1d3dr9+7d8bbi4mJNnDhRu3fvVmdnZ7x95syZCoVC2rlzZ7ytsLBQkyZN0t69e/u9x9OnT5ckbd++Pd5WUFCgqqoq7d+/P17gUlubqnNzFQgE+s26ycvL09SpU3Xw4EE1NzfH26dMmaLs7Gxt3rw53pabm6vq6modOnRIR48ejbdXVVUpLy9PGzdujLdlZ2dr+vTpOnLkiBoaGuLtkyZNUmFhYb/3PjMzUzNnzlRDQ4OOHDkSb584caKKi4u1cePG+MUmEAiopqZGR48e1aFDh+J9y8vLNXbsWG3evFnh48tcfD6f5syZo+bmZh08eDDet6ysTKWlpdq6dat6e3vj7XPnzlVra6v2798fbystLdX48eP7Pa8ULcy1t7dr79698bZx48ZpwoQJ2rlzp7q6uuLts2fPVldXV7/3vqSkRBUVFQNyMmvWLAWDQe3atSveVlRUpMrKSu3Zs6fftWDGjBmKRCLasWNHvG3MmDGaPHmy9u3bp7a2tnj7tGnT5PP5tG3btnhbfn6+pkyZogMHDqilxud6JAAANxVJREFUpSXePnXqVGVmZmrLli3xtth7X19fr6ampnj7lClTlJOTo02bNsXbcnJyNG3aNB0+fFiNjY3x9smTJ6ugoKDfe5+VlaUZM2YMyAnXiKhRvUZIqq6u5hqhkV8jysrKtH37dvX09MTbuUZEeeUacXJOuEZwjTD1GjFz5kz19vZyjeDvEZLMukbk5ub2y8lwrhE9PT3KGsWTDy3by1t9nsLVV1/d74c7HE888YTOPfdcHTx4UBMnTpQk9fb2KhAYWK/59Kc/rSeffFJPPvmkbrjhhhGP73Of+5z+7d/+Tb/85S910003jfjxQ4nNtNiwYUO/dq9WLk2rctq2LR08GD2mdPx4WYP8slLhPnVfSaqrq9OcOXNkWdag9w/nOeg7sr5eeO/T4RohRf9lYuPGjUNmnPd+5H2HQt/k9U30Ok5OUrevV3/v3XzvvXYd90Jfr773XCPOrO9gGT/dz3Lu3LmS1K9g5aSUnVGxa9eufpXF4YhVyfLz8/u1jRkzZkDfWJWsoKAggVE6Z6iL5nDavNx3KF7pa1mW7Ozs6NKP7m5ZsQ02R3EMw233at++08uG87175b03oa/b730y+g7Fi31PlXHe+5H3HQp9k9c30es4OUndvl79vXf7vffSddwLfb363vMenXnfRK7jTkvZQsWaNWvO+LFjxoxRYWFhfDrZnDlzBvSJTTOrqqo649eBofLyooWKY8ekoiK3RwMAAAAARknbUz/OPvtsSdLq1asH3Nfb26sNGzYoOzs7vskIEJeVJVmWFA7L7rM+EsNXUVHh9hAAR5FxmI6Mw3RkHKbzesbTtlBx+eWXS5KWL18+4L7f/e536u7u1iWXXKLsIab2I31ZPp+UkxO90WdzJgyPZVkqKSlxZQoZMBrIOExHxmE6Mg7TpULG07ZQceutt2rMmDF64YUX9Jvf/CbefuTIEX3lK1+RJN15550DHldTU6Oampp+u9AiDcVOi+mzOzCGJ7Z5T4ru4wucFhmH6cg4TEfGYbpUyHjK7lGRqJKSEj366KO67rrrdO211+qiiy7S2LFj9dprr6mlpUVLly7VRRddNOBxsQ08+x6fFHPeeefF/xw7xujee+/Vz3/+c0nSwoUL9dOf/tSB7waj7qTlH4Od/oGhxY6rAkxFxmE6Mg7TkXGYzusZT9tChSRdc801evPNN3Xfffdp5cqVCgaDmjNnjm677TbdeOONI36+VatWDWjbuXNn/ExdlpGYw/L5ZOfkRGdUdHVFCxcAAAAAgISldaFCki644AL9/ve/H3b/U02P8fLUGTggNzdaqOD0jxHz+/1uDwFwFBmH6cg4TEfGYTqvZ9yy+XSdUmprayVJdXV1Lo8EdiQi1ddLkYg0fjzLPwAAAAAYabQ/h6btZppAoiyfT4ot52FTzWGzbVtHjx5lBhKMRcZhOjIO05FxmC4VMk6hAkhE7PQPjikdkfr6ereHADiKjMN0ZBymI+MwndczTqECSERWluTzxU//AAAAAAAkhkIFkADL55NycqI3WP4BAAAAAAmjUAEkKlaoYPnHsE2YMMHtIQCOIuMwHRmH6cg4TOf1jFOoABKVnc3yjxGwLEvjxo2TZVluDwVwBBmH6cg4TEfGYbpUyDiFCiBBlmWx/GMEbNvW5s2bPb3LMJAIMg7TkXGYjozDdKmQcQoVQDKw/GNEQqGQ20MAHEXGYToyDtORcZjO6xmnUAEkA8s/AAAAACApKFQAScDyj5Hx8no4IBnIOExHxmE6Mg7TeT3jlu3lhSkYoLa2VpJUV1fn8khwMrurS2pslPx+qbzc87/8AAAAADAco/05lBkVQLL0Wf6hYNDt0XiWbdtqbm729OY9QCLIOExHxmE6Mg7TpULGKVQAScLyj+E7cOCA20MAHEXGYToyDtORcZjO6xmnUAEkU25u9GtXl6crlAAAAADgVRQqgGTKyjqx/IPTPwAAAABgxChUAEnUb/lHV5e7g/Gw8ePHuz0EwFFkHKYj4zAdGYfpvJ5xChVAssWWfxw7xvKPQViWpfHjx3MqCoxFxmE6Mg7TkXGYLhUyTqECSLbY8o9IROrudns0nmPbtrZu3UoRB8Yi4zAdGYfpyDhMlwoZp1ABJJllWSdmVXR2ujsYjwpyfCsMR8ZhOjIO05FxmM7rGadQATghLy/6tatLdjjs7lgAAAAAIIVQqAAcYGVmSpmZ0RvHjrk7GAAAAABIIZbt5YUpGKC2tlaSVFdX5/JIcDp2R4fU3CwFArLKy90eDgAAAACckdH+HMqMCsApubmSZUmhkOyeHrdH4xm2bau1tdXTm/cAiSDjMB0Zh+nIOEyXChmnUAE4xPL52FRzCPv27XN7CICjyDhMR8ZhOjIO03k94xQqACfFNtU8dkx2JOLuWAAAAAAgBVCoABxkZWVJgYBk22yqCQAAAADDQKECcFp+fvQryz/iSktL3R4C4CgyDtORcZiOjMN0Xs84hQrAabF9KoJB2cGgu2PxAMuyVFZWJsuy3B4K4AgyDtORcZiOjMN0qZBxChWAwyy/X8rJid5gVoVs29b27ds9vcswkAgyDtORcZiOjMN0qZBxChXAaIgt/2BTTUlSd3e320MAHEXGYToyDtORcZjO6xmnUAGMhqwsye+XIhGpq8vt0QAAAACAZ1GoAEaBZVknjipl+QcAAAAADIlCBTBaYoWKnh7ZoZC7Y3HZnDlz3B4C4CgyDtORcZiOjMN0Xs84hQpglFiBgJSdHb2R5rMqOtP8+4f5yDhMR8ZhOjIO03k94xQqgNHUZ/mHl3fZddqePXvcHgLgKDIO05FxmI6Mw3RezziFCmA05eRIPp8UDkse32kXAAAAANxAoQIYRZZlSbm50Rsen24FAAAAAG6gUAGMttjyj64u2eGwu2NxydixY90eAuAoMg7TkXGYjozDdF7POIUKYJRZmZlSZmb0xrFj7g7GBZZlqby8PDq7BDAQGYfpyDhMR8ZhulTIOIUKwA2xWRUdHe6OwwW2bWvnzp1pvZkozEbGYToyDtORcZguFTJOoQJwQ26uZFlSKCS7p8ft0Yy6Y2k4kwTphYzDdGQcpiPjMJ3XM06hAnCB5fOxqSYAAAAADIJCBeCW2PKPY8dkRyLujgUAAAAAPIJCBeASKytLCgQk2067WRU1NTVuDwFwFBmH6cg4TEfGYTqvZ5xCBeCmgoLo1/Z2T29mk2zd3d1uDwFwFBmH6cg4TEfGYTqvZ5xCBeCm3FzJ55PCYamry+3RjJrdu3e7PQTAUWQcpiPjMB0Zh+m8nnEKFYCLLJ9Pys+P3mhvd3cwAAAAAOABFCoAt8UKFcFgWh5VCgAAAAB9UagAXGb5/SdOAEmTWRXFxcVuDwFwFBmH6cg4TEfGYTqvZ5xCBeAFsVkVXV2yQyF3x+Iwy7I0ceJEWZbl9lAAR5BxmI6Mw3RkHKZLhYxTqAA8wMrMlLKzozc6OtwdjMNs29auXbvS6pQTpBcyDtORcZiOjMN0qZBxChWAV8RmVXR2yo5E3B2Lwzo7O90eAuAoMg7TkXGYjozDdF7POIUKwCOsnBwpEJAiEcnjFw4AAAAAcAqFCsBLCgqiX9vbPT0VCwAAAACcQqEC8JLcXMnnk8JhqavL7dE4ZubMmW4PAXAUGYfpyDhMR8ZhOq9nnEIF4CGWz3dirwqDjyoNGX6yCUDGYToyDtORcZjO6xmnUAF4TaxQEQzK7ulxdywO2blzp9tDABxFxmE6Mg7TkXGYzusZp1ABeIzl90t5edEbBs+qAAAAAIDBUKgAvCg2q6KrS7bHp2UBAAAAQDJRqAA8yMrMlLKzozcMnFVRWFjo9hAAR5FxmI6Mw3RkHKbzesYpVABeFTuq9Ngx2ZGIu2NJIsuyNGnSJFmW5fZQAEeQcZiOjMN0ZBymS4WMU6gAPMrKzpYCASkSkTo73R5O0ti2rT179si2bbeHAjiCjMN0ZBymI+MwXSpknEIF4GWxWRXt7Z6+kIxUu4HLWYC+yDhMR8ZhOjIO03k94xQqAC/LzZV8Pikclrq63B4NAAAAADiOQgXgYZbPd+IEEI9XPQEAAAAgGShUAF4XK1QEg7J7etwdS5JMnz7d7SEAjiLjMB0Zh+nIOEzn9YxTqAA8zvL7pby86A1mVQAAAAAwHIUKIBXEZlV0dckOhdwdSxJs377d7SEAjiLjMB0Zh+nIOEzn9YxTqABSgJWZKWVnR28wqwIAAACAwShUAKkidlRpR4fscNjdsQAAAACAQyhUACnCys6WsrKiN9ra3B1MggpiRRfAUGQcpiPjMB0Zh+m8nnEKFUAqGTMm+rWjI2X3qrAsS1VVVbIsy+2hAI4g4zAdGYfpyDhMlwoZp1ABpJB+sypSdK8K27a1b98+2bbt9lAAR5BxmI6Mw3RkHKZLhYxTqABSjQGzKlpbW90eAuAoMg7TkXGYjozDdF7POIUKIMWYMKsCAAAAAIZCoQJIRQbMqgAAAACAwVCoAFJQqs+qqK6udnsIgKPIOExHxmE6Mg7TeT3jFCqAVFVYGP2agrMqAoGA20MAHEXGYToyDtORcZjO6xmnUAGkKCsr68SsirY2dwczQlu3bnV7CICjyDhMR8ZhOjIO03k94xQqgFQWm1XR2ZlysyoAAAAAYDAUKoAUZmVlSdnZ0RspNqsCAAAAAAZDoQJIdbETQFJoVkVeXp7bQwAcRcZhOjIO05FxmM7rGadQAaS4VJtVYVmWpk6dKsuy3B4K4AgyDtORcZiOjMN0qZBxChWACVJoVoVt2zpw4IBs23Z7KIAjyDhMR8ZhOjIO06VCxilUAAZItVkVzc3Nbg8BcBQZh+nIOExHxmE6r2ecQgVgihSaVQEAAAAAQ6FQARgi1WZVAAAAAMBgKFQAJkmRWRVTpkxxewiAo8g4TEfGYToyDtN5PeMUKgCDpMqsiuzYGAFDkXGYjozDdGQcpvN6xilUAKYpLIx+7eyU3dvr7liGsHnzZreHADiKjMN0ZBymI+MwndcznvaFirfffluf+MQnVFJSovz8fJ177rl64oknRvw87733nv7lX/5FH/rQh1RUVKTMzExNmjRJn/70p7Vu3ToHRg4MzsrMTIlZFQAAAAAwmIDbA3DTc889p+uvv16RSESLFy/WuHHj9Kc//Uk33nij1q1bpx/96EfDep5QKKQPfOADkqSSkhJ96EMfUl5ent5//309+eSTevbZZ/Xkk0/q2muvdfLbAU4oLJS6u6Vjx2SPGSMrI8PtEQEAAADAsKTtjIqmpibdcsstCofDWr58ud544w0tX75cmzdv1vTp0/XAAw/ojTfeGPbzffCDH9Tzzz+vI0eO6OWXX9azzz6rrVu36u6771YwGNQtt9yixsZG574hoA8rM1PKyYne8OCsitzcXLeHADiKjMN0ZBymI+MwndcznraFil/84hdqa2vTVVddpSVLlsTby8rKdP/990uSHnjggWE9VyAQ0F//+lddddVV8vv98Xafz6d7771Xs2bNUnt7u1566aXkfhPAqcROADl2THYw6O5Y+rAsS9XV1bIsy+2hAI4g4zAdGYfpyDhMlwoZT9tCRaxoMNhyjMsvv1zZ2dl67bXX1N3dndDrWJalefPmSZIOHjyY0HMBI9FvVkVrq7uD6cO2bdXX18u2bbeHAjiCjMN0ZBymI+MwXSpkPG0LFWvXrpUkLVy4cMB9mZmZmjt3rrq7u7V169aEX2vnzp2SpAkTJiT8XMCIFBVFv3Z3y06w6JZMR48edXsIgKPIOExHxmE6Mg7TeT3jaVmoaGtrU+vxf2GurKwctE+sfc+ePQm91ltvvaX33ntPmZmZ+vjHP57QcwEjZQUCUkFB9EZLi6erpgAAAAAgpempHx0dHfE/D7WJSF5eniSpvb39jF+nra1Nt9xyiyTpjjvuUHl5+bAfW1tbO2j7jh07NG3atAEfOC3LGlabl/sOhb6n7nu6n7tdUCB1dEjBoKzOTtnHs53o855p35jhfN9e/rmnWl+v/t6beI04+asbYzhde6r1HQp9k9c30es4OUndvl79vXfzvffaddwLfb363nONOLO+g2U8GT/LZErZQsXVV1+tTZs2jegxTzzxhM4991yHRtRfOBzWpz71KW3btk3nnnuuvv3tbyftuUOhkOrq6uK3KysrVVRU1K8tIyNDs2bNUmNjow4fPhxvr6ioUElJiTZt2qRIJCJJ8vv9mj17tpqamlRfXx/vO2HCBI0bN05btmxRKBSSFA1qbW2tWlpadODAgXjf8ePHa/z48dq2bZuCfTZunDt3rtra2rRv3754W2lpqcrKyrRjx45+e4DMmTNHnZ2d/WaxjB07VuXl5dq1a5eOHTsWb6+pqVF3d7d2794dbysuLtbEiRO1e/dudXZ2xttnzpypUCgUX4IjSYWFhZo0aZL27t3brxg1ffp0SdL27dvjbQUFBaqqqtL+/fvjM3Ekqbq6WoFAoN/yoLy8PE2dOlUHDx5Uc3NzvH3KlCnKzs7W5s2b4225ubmqrq7WoUOH+k29qqqqUl5enjZu3Bhvy87O1vTp03XkyBE1NDTE2ydNmqTCwsJ+731mZqZmzpyphoYGHTlyJN5ekZOj4tZWbdyzJ36xCQQCqqmp0dGjR3Xo0KF43/Lyco0dO1abN29WOByWFN0cds6cOWpubu6330pZWZlKS0u1detW9fb2xtvnzp2r1tZW7d+/P95WWlqq8ePHKyMjo9/3V1tbq/b2du3duzfeNm7cOE2YMEE7d+5UV1dXvH327Nnq6urq996XlJSooqJiQE5mzZqlYDCoXbt2xduKiopUWVmpPXv29CtazpgxQ5FIRDt27Ii3jRkzRpMnT9a+ffvU1uf0lGnTpsnn82nbtm3xtvz8fE2ZMkUHDhxQS0tLvH3q1KnKzMzUli1b4m2x976+vl5NTU3x9ilTpignJ6fftS0nJ0fTpk3T4cOH+50cNHnyZBUUFPR777OysjRjxowBOeEaETXa14ju7u6UukZMnDhRxcXF2rhxo6vXiLKyMm3fvl09PT3xdq4RUV65RhQXF8uyrHgGuUakx98j0vEaEQqF1NvbyzWCv0dIMusaEfvH+th1YjjXiJ6eHmVlZWm0WHaKzgWfP39+fJ+J4Xr99dd10UUXqa2tTYWFhZKk1tZWjYmdjtDH1Vdfreeff17/7//9P11xxRUjHt8///M/a9myZZo1a5beeustjRs3bsTPMZjYTIsNGzb0a/dq5ZIqp/N9h/Nzt21bOnRIVjgsOz9fVmzvigSf90z6SlIkEpFlWbKsU+807OWfe6r19ervvYnXCNu2Zdv2kBnnvR9536HQN3l9E72Ok5PU7evV33u3Z1R46Truhb5efe+5RpxZ38Eyfrqf5dy5cyWpX8HKSSk7o2LNmjVn/NgxY8aosLAwXqWdM2fOgD6x6m1VVdWIn/9rX/uali1bpkmTJunVV19NWpGir6EumsNp83LfodD31H1P93O3LEt2cbHU2Ciro0MqKIjuX5Hg855JX9u2tWnTJtXW1g7re/fyzz3V+nr1997Ea8TGjRtPmXHe+5H3HQp9k9c30es4OUndvl79vXfzvffaddwLfb363qfie2S3tyuycqXs7dulnh5l33mnev7wB/nOO09WbH85h8dwcsYDgUB8ZstQz9HS0qI5c+Zo8+bNevPNN/XhD39YktTZ2amPfvSjCgaD6u3t1QUXXKCf/vSnCgTOvNyQlptpStLZZ58tSVq9evWA+3p7e7VhwwZlZ2dr5syZI3re+++/Xz/4wQ80fvx4vfrqq5o0aVJSxgskysrJkbKzozf6TCkEAAAA4Dw7GFTomWcU+ta3FHn5Zdlbt8res0eybUVeflmhb31L4f/6L9l9lkENx1AFhmTLzs7WCy+8oMWLF/drz8nJ0Z///GetWbNG69evV2Njo371q18l9FppW6i4/PLLJUnLly8fcN/vfvc7dXd365JLLlF27IPdMCxbtkxf/epXVVRUpFdeeUWzZs1K2niBpDi+5EldXbL7rO0EAAAA4Bw7GFT43/9d9sqV0vG9W/q65+23teCxx/SB227Tmm9+U3YwqPfee08XXHCBFixYoPnz5+uPf/xjvH8gENA999yjBQsW6De/+Y3WrFmjxYsX6+yzz9aCBQvi+1X87Gc/09y5c3XWWWfp9ttvjxc1Nm/erIULF2revHn65je/2W8szz77rBYtWqQFCxbommuuie+dkZ2drRkzZgwYu8/nU35+vqRo0aSnp2dEsz4Gk7aFiltvvVVjxozRCy+8oN/85jfx9iNHjugrX/mKJOnOO+8c8LiamhrV1NT029xFihY8Pve5zyk/P18vv/yy5s+f7+j4gTNhZWZKsVM/XJxVMZICIJCKyDhMR8ZhOjKOZAv/9rey+2y22u8+21Zlfr7e/6d/0j3nnadb/+M/FHn+ec2YMUNvvPGG3n//fb300kv6/Oc/f+Ix4bCqq6v1/vvv6+qrr9Y111yje++9V2vXrtXKlStVWVmpNWvW6IEHHtBf/vIXrV27Vvv27dOyZcskSV//+tf1ve99T+vWrVNJSUn8ebds2aJly5bpzTff1Pvvv6/zzjtP3/3ud4f1PS5atEilpaUaM2aMPvWpTyXw00rhPSoSVVJSokcffVTXXXedrr32Wl100UUaO3asXnvtNbW0tGjp0qW66KKLBjwutuNu312Jjxw5ok996lOKRCKaOnWq/u3f/k3/9m//NuCxn/zkJ/XJT37SqW8JGJ7CQunYMSkYlN3ZKeuk40qdZllWfMdjwERkHKYj4zAdGceZONW+E7Jt2X/72ykf/0/H9028cto0ffaPf1T722+rc/583XrPPdq4caMCgYD27dunxsbG+B6IN9xwg6ToZ9SioiJdeOGFkqInuGRlZWnhwoW68847VVxcLEm66aab9NRTT+mGG27Q0aNH9fGPf1wHDhzQM888o3A4rIsuukgf+9jHtH79ep177rk6cOCAOjo6lJWVpby8vPjzDGXVqlXq6OjQNddcozfeeEOXXHLJGf8807ZQIUnXXHON3nzzTd13331auXKlgsGg5syZo9tuu0033njjsJ/n2LFj8WNy1q9fr/Xr1w/ab8qUKRQq4DrL75c9ZozU2iq1tsrOyZHlG73JVbZt68iRIxo/fnzCU8IALyLjMB0Zh+nIOEbCDgajsyX+9rf+SzqO7zsReeUVWRUVgy73OJVQb6/uvv12LfzoR/XMM8/IsiyNHTs2fuSq3++Pz/wZySkgsf6RSES2beurX/2qrr/+ev31r3/VddddpyeeeELXX3+9Zs2apT//+c965plnFAwGVVJSorxh/ANnfn6+rrzySr344osUKhJxwQUX6Pe///2w+w8WgilTpgw7HIAn5OdLHR3RC2Z7+4m9K0ZJQ0ODxo8fP6qvCYwmMg7TkXGYjoxjOOL7TgyxpOOet9/WSzt3KsPn039cdpnOGjdOqw8f1h1vvKFjoZBs29b3PvIRSdKTmzbpS6+/rqunT1d3OKw/7tmjPbt3691f/lJPP/202tra1NTUJCm670Q4HNZZZ52liy66SPfff79aWlr0i1/8Qj/5yU/U29urK664QpZl6fnnn9fdd9+tV155RZ///OeVl5enz3zmMyopKdGrr76q3/3udzrnnHMkSTfeeKPuuusu1dfX66KLLtKll16q7u5u7d27V7m5uWpraxv0+zxy5IgyMzNVVFSknp4evfzyy7rqqqsS+tmm7R4VQDqzfL4TxYn2dtkjrPACAAAA6W4k+0589vhGmNOLivTatdfqb5/6lF745Cd1+5//LL9laV97u8K2rVWHDukv11+vT06bpq2HD6u7u1uWZenv//7vNWnSJNXV1emBBx6Q3++P7zvx2GOP6bnnntOXvvQltbS0KCsrS5ZlybIsLV26VOeee64+85nP6Prrr9euXbu0aNEizZ49W3feeac6Ozvjm2Xm5eUpOztb9957r9544w3deeedWrRokf7617+qo6NDnZ2dqqys1LvvvqslS5Zo4cKFkqSDBw/qox/9qObNm6eFCxdqzpw5uvXWWxP62Vo2UwFSSm1trSSprq7O5ZHABPbhw1IwKOXlyeqziY6jr2nbqqurO+XZ5EAqI+MwHRmH6cg4hsNua1Po298ecklH5sMPq/kLX1BeRoYkqexnP9POW29Va0+P7lyxQpuamhSwLG1qatKez35W43JylPnww2q77TZlBwLa0Nioz6xYodV79/Z73h//+Mfav3+/fvjDH0qSnn/+eT311FNatmyZZsyYoSNHjkiSWltbNXbsWIVCIT3yyCP6zne+o7KyMknR/RYnT56sJ554QvPnz+93UERZWZm2bt2q/Px83X333frDH/6gkpISrVmzRpZl6ejRo0n/WQ4m7Zd+AGmtqEg6ckTq7JSdnx89FWQUTJo0aVReB3ALGYfpyDhMR8ZxOpFVq0a874QkfeOdd7Rg/Hg99YlPyLIsTfj5z9V9/MhQv2UpOxD9iG5LsrKyBjz+5OLZcIpptm3r+uuv18MPPxy/3dbWpoKCAnV2dqq7u1vZ2dnq7OxUMBhU4fGZ19///vf1/e9/X5I0duxYZQ0yHqew9ANIY1ZWlpSTE70xSseVWpalwsJC/oUCxiLjMB0Zh+nIOIbD3r79tH2e3LRJkvTSzp2aWliovIwMtfb0qCI/X5Zl6blt29R0fHPMk9WMG6eWUEgrVqyQJPX09Kijo0OLFy/W888/r5aWFkUiET3++OO6+OKLVVhYqIqKCr366quSpP/8z/+MP9cll1yi3/72t9q/f78kqaurS/X19fL5fLr88sv1xBNPSJIef/xxXXnllfE+7e3tkqTNmzero6NDY8aMOZMf1RlhRgWQ7oqKpK4uqadHdleXrFjhwiFMp4TpyDhMR8ZhOjKOYenpOeXdsX0nFv7qVwpYln5x6aWSpK9+8IO6+ZVX9PB77+nDEydqckHBoI/POv98PXfjjbrtttvU1tamjIwMPfXUU5o/f76WLl2qD3/4w5Kkiy66KL4fxGOPPaabb75Z4XBYS5YsiT/X7Nmz9eCDD+rKK69UOByWbdu6+eabNWvWLH3/+9/XDTfcoB/+8IcqLy/X008/LUlqbGzUJZdcIr/fr/z8fFVUVMjv9yf8Yxsu9qhIMexRASfYLS3R0z8CAWnCBEf/p8z//GE6Mg7TkXGYjoxjOEI/+5nsrVsdeW5r2jT5/9f/knV8f4tkO5OMj/bnUJZ+AJDGjJF8PikUih5bCgAAAGBI1vTpZ/bASZOkoWYm+P3ynX++o0WKVMHSDwCyfD7ZhYVSc7PU1iY7N1eWg1O7Mkdp007ALWQcpiPjMB0Zx+n4Fi1S5JVXRrahpt+vwGc/K0mKrFwZ3eeip0fKypI1fbp8550na4ilIMnm9Yyz9CPFsPQDTrFtWzp8WOrtlfLzZRUXuz0kAAAAwLNCzzwje+XKYff3nX++/Ndd5+CInMPSDwCusCwrurGmJHV0yO7tdeR1bNvWkSNHRI0UpiLjMB0Zh+nIOIbLf/XVsqZNG1Zfa9o0+a6+2uERDU8qZJxCBYA4Kztbys6O3mhtdex1jhw54thzA15AxmE6Mg7TkXEMh5WZKf8//7N855+fcvtOeD3j7FEBoL+iIunQIamra1SOKwUAAABSlZWZKf9118n393/v+r4TJqFQAaAfKyNDdkFB9LjS5mbZWVmyfEy+AgAAAIZiFRTI/7GPSR/7mNtDMQKfPgAMNGZMdPpaOCy1tSX96SdOnJj05wS8hIzDdGQcpiPjMJ3XM06hAsAAls8nxU79aG+XHQwm77ktS8XFxdHNOwEDkXGYjozDdGQcpkuFjFOoADAoKydHiu1P0dyctF2BbdtWXV2dp3cZBhJBxmE6Mg7TkXGYLhUyTqECwNCKiyWfTwoGpY6OpD2tly+KQDKQcZiOjMN0ZBym83rGKVQAGJLl90uFhdEbra2yQyF3BwQAAADAeBQqAJySlZ8vZWZKti21tCTlOQMBDhyC2cg4TEfGYToyDtN5PeOW7fU5H+intrZWklRXV+fySJBO7GBQOnw4emPcuOj+FQAAAADSwmh/DmVGBYDTsjIzpYKC6I3mZtmRyBk/l23bamxs9Py6OOBMkXGYjozDdGQcpkuFjFOoADA8Y8ZIgYAUDkutrQk91aFDh5I0KMCbyDhMR8ZhOjIO03k94xQqAAyL5fNFTwGRpI4O2T097g4IAAAAgJEoVAAYNis7W8rNjd5oafH0dDEAAAAAqYlCBYCRKSqSfD4pGJQ6Os7oKcrLy5M7JsBjyDhMR8ZhOjIO03k94xQqAIyI5fdLhYXRG62tskOhkT3esjR27FhZluXA6AD3kXGYjozDdGQcpkuFjFOoADBiVn6+lJUl2bbU3Dyix9q2rU2bNrFsBMYi4zAdGYfpyDhMlwoZp1AB4MzENtbs7pZ97NiIHhoOhx0YEOAdZBymI+MwHRmH6byecQoVAM6IlZERPbJUim6sGYm4OyAAAAAARqBQAeDMjRkjBQJSOCy1tAz7YT4flx6YjYzDdGQcpiPjMJ3XM27ZXl6YggFqa2slSXV1dS6PBIiyu7ulhobojfHjZWVluTsgAAAAAEk12p9DvV1GAeB5Vna2lJcXvdHUdNpNeWzbVtMw+gGpiozDdGQcpiPjMF0qZJxCBYDEFRZKPp8UCkltbaftfvDgwVEYFOAeMg7TkXGYjozDdF7POIUKAAmz/H6pqCh6o61Ndijk6ngAAAAApC4KFQCSwsrLk7KzozeamtwdDAAAAICURaECQPIUF0uWJfX0yO7oGLJbWVnZKA4KGH1kHKYj4zAdGYfpvJ5xChUAksYKBKL7VUhSS8ugS0Asy1Jpaaksyxrl0QGjg4zDdGQcpiPjMF0qZJxCBYCksgoK9P+3d6exUZVtGMevoXRaoctQKVtACoW2gqKoVESxjYAiS0DACoEIFjSKICqGRVzqkldRRCFuhFU+IEY2ZYkKWgWRaihBlhgkFdEChYIt1NJlOn3eD6SV0gLt9EznMPx/CYmc5el9kivj9GLmHIWESMZIp05Vu5uwMUYHDhyw9V2Ggfog4wh0ZByBjowj0F0JGaeoAGC9qKhzTwEpLa3xKSBut9sPQwENh4wj0JFxBDoyjkBn94xTVACwnKNx46pPASkp8es8AAAAAK4cFBUAfMLRtKl0zTXn/vLPPzLl5f4dCAAAAMAVwWHs/MUUVNO1a1dJ0v79+/08CXB5xuORjh+XPB4pLEyOZs38PRIAAACAOmro30P5RAUAn3EEBZ27X4Uk/fuvTFGRjDHKz8+39c17gPog4wh0ZByBjowj0F0JGaeoAOBTjtBQKSzs3F/y8mQ8HmVnZ/t3KMDHyDgCHRlHoCPjCHR2zzhFBQDfi4yUGjc+9xWQvDx/TwMAAADAxrhHxRUmPDxcbrdbsbGx/h4FqBtjpLIySVJJeblCQkL8PBDgOyUlJWQcAY2MI9CRcQS6umY8KytLwcHBKigo8OFU/+ETFVeYpk2bKjg42N9jAHXncEjBwcr66y/bf9QMqI+srCwyjoBGxhHoyDgCnTcZDw4OVtOmTX00UXV8ogJAg+LJNQh0ZByBjowj0JFxBLorIeN8ogIAAAAAANgGRQUAAAAAALANigoAAAAAAGAbFBUAAAAAAMA2KCoAAAAAAIBt8NQPAAAAAABgG3yiAgAAAAAA2AZFBQAAAAAAsA2KCgAAAAAAYBsUFQAAAAAAwDYoKgAAAAAAgG1QVAAAAAAAANugqAAAAAAAALZBUQHAZ7Zv364BAwYoKipKYWFhSkxM1PLlyy1Ze/z48XI4HHI4HPrxxx8tWRPwhlU5z8zMVFpamnr16iWXyyWn06l27dppzJgx2rNnjw8mB84pKirSSy+9pLi4OIWGhqpNmzZKTU3VkSNH6rxWXl6epkyZovbt2yskJETt27fX008/rfz8fOsHB2rJiozn5+drxYoVGjVqlDp06CCn06nw8HDdfvvtmjdvntxutw+vALg0K1/Hz3fw4EFdc801cjgc6tu3r0XT1pIBAB9YtWqVCQoKMg6HwyQlJZnhw4cbl8tlJJmpU6fWa+3vvvvOSDIOh8NIMtu2bbNoaqBurMq52+02kowkExUVZe6//34zYsQIExsbayQZp9NpPv/8cx9eCa5WRUVFpmfPnkaSad26tUlJSTGJiYlGkomOjjZZWVm1Xis3N9d06tTJSDIdO3Y0KSkppmvXrkaSiYuLM6dOnfLhlQA1syrjs2bNqnzv0b17d/PQQw+Ze+65x4SEhBhJ5q677jKFhYU+vhqgOitfxy+UnJxc+X67T58+Fk59eRQVACx36tQpExERYSSZ1atXV27PycmpfBObnp7u1dpFRUWmc+fOpmvXrqZXr14UFfAbK3PudrtNjx49zLp160xZWVnldo/HU/nmODw83OTm5lp9GbjKVeTrjjvuMAUFBZXb33nnHSPJJCUl1Xqt0aNHG0lm2LBhxu12V26fPHmykWTGjh1r4eRA7ViV8f/9739m2rRp5vDhw1W2//777+a6664zkszMmTOtHB2oFStfx8+3aNEiI8k89thjFBUAAsPs2bONJDNkyJBq+9asWWMkmUGDBnm19vPPP28cDofZtm2bSUpKoqiA3/gy5+crLy838fHxRpJZtmxZvdcDKpSUlJjIyEgjyezatava/m7duhlJZufOnZdd6+jRo6ZRo0bG6XSanJycKvuKi4tNdHS0CQoKMsePH7dsfuByrMz4paxYscJIMjExMfVaB6grX2U8JyfHNGvWzPTr18+kp6f7pajgHhUALLdx40ZJ0ogRI6rtGzhwoEJDQ7VlyxYVFxfXad29e/fq7bffVmpqqu666y5LZgW85aucX8jhcKhbt26SpKNHj9ZrLeB827dv1+nTpxUbG6vu3btX21+R7fXr1192ra+++krl5eXq3bu3WrZsWWVfSEiIBg8eLI/Ho02bNlkzPFALVmb8Um666SZJvEaj4fkq41OmTFFRUZE+/PBDS+b0BkUFAMv9+uuvkqRbbrml2j6n06kbbrhBxcXF+v3332u9Znl5uR577DG5XC699dZbls0KeMsXOb+YP/74Q5LUqlWreq8FVLhUhs/fXpubuVq5FmCVhsolr9HwF19kfNOmTfrss8/0/PPPq1OnTvUf0ksUFQAsdebMGZ0+fVqS1LZt2xqPqdh++PDhWq/7wQcfKCMjQ3PmzFFUVFT9BwXqwVc5r8mPP/6ozMxMOZ1O9e/fv15rAef766+/JFmTYSvXAqzSULmcN2+eJGnIkCH1WgeoK6szXlhYqIkTJyo+Pl7Tp0+3ZkgvNfbrTwcQcP7999/K/27SpEmNxzRt2lSSVFBQUKs1s7OzNWvWLCUnJ+vhhx+u/5BAPfki5zU5c+aMUlNTJUnPPPOMWrdu7fVawIUqcmxFhq1cC7BKQ+Ty448/1pYtW+RyuTRjxgyv1wG8YXXGX3jhBR0+fFjp6elyOp3WDOkligoA1TzwwAP67bff6nTO8uXLlZiY6JN5nnzySZWUlOijjz7yyfq4Otkt5xfyeDwaPXq0Dh48qMTERL366qsN8nMBALWzbds2TZkyRQ6HQ0uWLFGbNm38PRLgtZ07d2r+/Pl6+OGHlZyc7O9xKCoAVHfo0CEdOHCgTuecPXtWkhQWFlZlW0RERLVjCwsLJUnh4eGXXXf16tX68ssv9eKLLyohIaFOMwGXYqec1+SJJ57Qhg0bFB8fr40bN/r9XzYQeCpyXJHrC9Ulw1auBVjFl7nct2+fhgwZotLSUs2fP18PPPCA94MCXrIq42VlZXr00Uflcrk0Z84ca4f0EkUFgGp2797t9bkRERGKjIzU6dOnlZ2drS5dulQ7Jjs7W5LUvn37y65XcZfizZs3a+vWrTXOOXnyZEVGRmrcuHEaN26c17Pj6mKnnF9oxowZWrhwodq1a6fNmzerefPmXs8KXMx1110n6b+sXqguGbZyLcAqvsrloUOHdO+99yovL09paWmaPHly/QYFvGRVxrOzs7V79261atVKDz74YJV9+fn5kqTMzMzKT1p8//333g9dSxQVACx30003aevWrdq1a1e1X+Dcbrf27dun0NBQxcXF1XrNjIyMi+6r+IXTDh9Tw9XDFzmXpLfeekuzZ89WixYttHnzZrVr187KsYFKFY9U3LVrV437K7ZXPB63odYCrOKLXB47dkz9+vXTsWPHNGXKFL388sv1HxTwktUZz8nJUU5OTo378vPz9cMPP3gxpXd46gcAyw0cOFCStGrVqmr7NmzYoOLiYvXt21ehoaGXXWvZsmUyxtT4JykpSdK574gaY5SWlmbpdQCXYmXOKyxcuFDTp0+Xy+XS119/rfj4eMvmBS505513KjIyUllZWTV+wqgi24MHD77sWv3791ejRo20bds2nThxosq+kpISrV+/XkFBQRowYIAlswO1YWXGJSkvL0/33XefsrKy9Mgjj+jdd9+1clygzqzKeExMzEXfb6enp0uS+vTpU7mtIVBUALDchAkTFBERoS+++EJr1qyp3H7ixAlNmzZNkjR16tRq5yUkJCghIUFHjhxpsFkBb1md81WrVunxxx9XWFiYNm3apJtvvtmn8wNOp1OTJk2SdO6mxRXfZZakuXPnas+ePUpKStKtt95auf39999XQkKCZs6cWWWt1q1ba9SoUSotLdXEiRNVVlZWuW/atGnKzc3VmDFj1KJFCx9fFfAfKzN+9uxZDRw4UHv37lVKSooWLlwoh8PRMBcCXISVGbcbvvoBwHJRUVFasmSJUlJSNGLECCUnJ+vaa6/Vli1blJ+fr2effbbGr2lU3NjQ7XY38MRA3VmZ8xMnTmj06NEqLy9Xhw4dtGDBAi1YsKDauUOHDtXQoUN9dUm4Cr3wwgvasmWLfvrpJ3Xu3Fm9e/fW4cOH9fPPPys6OlpLliypcvzJkyd14MABHTt2rNpa7733njIyMrR69WolJCTotttu0/79+7Vv3z517txZc+fObajLAipZlfFZs2Zpx44dCgoKUuPGjTV+/Pgaf96yZct8dSlAjax8HbcTigoAPjF8+HBt3bpVr7/+ujIyMlRaWqouXbpo0qRJGjt2rL/HAyxhVc7Pnj2r0tJSSdLevXu1d+/eGo+LiYmhqIClQkNDlZ6erjfeeEMrVqzQunXrFBUVpXHjxum1115T27Zta71W8+bN9csvvygtLU3r1q3T2rVr1bJlSz311FN65ZVX5HK5fHchwEVYlfG8vDxJ5x4dvWLFioseR1GBhmbl67idOExDfckEAAAAAADgMrhHBQAAAAAAsA2KCgAAAAAAYBsUFQAAAAAAwDYoKgAAAAAAgG1QVAAAAAAAANugqAAAAAAAALZBUQEAAAAAAGyDogIAAAAAANgGRQUAAAAAALANigoAAAAAAGAbFBUAAAAAAMA2KCoAAICtORyOKn8aNWokl8ul3r17a9GiRTLGXPTcjIwMTZgwQXFxcQoPD1doaKhiYmKUkpKitWvXqry8vMrxmZmZevPNNzVs2DC1bdu28mcCAICG4zCX+r87AACAn1UUBWPHjpUkeTweZWVlKSMjQ8YYjRw5Up9++mmVc9xut5544gktXrxYkhQfH6/rr79eTqdThw4dUmZmpsrLy3XPPffo22+/rTxv6NCh+uKLL6rNwNslAAAaDkUFAACwtYqi4sK3LJs3b9aAAQNUVlam9evXa9CgQZX7Ro0apZUrVyouLk5Lly5Vr169qpx79OhRvfrqq/rmm2/0xx9/VG6fPXu2CgsL1aNHD/Xo0UMxMTEqKSmhqAAAoAFRVAAAAFu7WFEhSampqVq6dKnGjx+vRYsWSZI+//xzpaSkqGXLlvr111/VsmXLi669fft23XnnnRfdHxoaSlEBAEAD4x4VAADgitW9e3dJ0t9//125bc6cOZKktLS0S5YUki5ZUgAAAP+gqAAAAFesgoICSVJISIgk6eTJk/rll1/kcDg0cuRIf44GAAC8RFEBAACuSMYYbdiwQZLUrVs3SdLu3bslSR07dpTL5fLTZAAAoD4oKgAAwBXF4/Ho4MGDSk1N1Y4dOxQSEqJHHnlEknTq1ClJUnR0tD9HBAAA9dDY3wMAAADURsVNNc8XHh6uTz75RLGxsX6YCAAA+AJFBQAAuCKMHTtWktSoUSNFREToxhtv1LBhw9SsWbPKY6699lpJUm5url9mBAAA9cfjSQEAgK1d6vGkF8rNzVWLFi3kcDj0zz//1Ps+FTyeFACAhsc9KgAAQMCIjo5WYmKijDFauXKlv8cBAABeoKgAAAAB5bnnnpMkpaWl6cSJE5c89qeffmqIkQAAQB1QVAAAgIDy4IMPauTIkTp+/Ljuvvtu7dixo9oxOTk5mjRpksaMGeOHCQEAwKVwM00AABBwli9friZNmmjJkiXq1auXEhIS1KVLFwUHB+vPP//Uzp075fF41K9fvyrnbdy4Ua+99lrl30tLSyVJPXv2rNz24osvauDAgQ1zIQAAXIUoKgAAQMAJDg7W4sWLNWHCBC1atEhbt27VV199JY/Ho1atWmn48OEaPXq0Bg8eXOW83Nxc/fzzz9XWO38bTxQBAMC3eOoHAAAAAACwDe5RAQAAAAAAbIOiAgAAAAAA2AZFBQAAAAAAsA2KCgAAAAAAYBsUFQAAAAAAwDYoKgAAAAAAgG1QVAAAAAAAANugqAAAAAAAALZBUQEAAAAAAGyDogIAAAAAANgGRQUAAAAAALANigoAAAAAAGAbFBUAAAAAAMA2KCoAAAAAAIBtUFQAAAAAAADboKgAAAAAAAC2QVEBAAAAAABsg6ICAAAAAADYxv8BWaZe1CvrINAAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "# 13 plotting pcoa plot\n",
        "\n",
        "fig, ax = plt.subplots(figsize=(8, 8), dpi=150)\n",
        "\n",
        "# Function to plot ellipses\n",
        "def plot_ellipse(mean, cov, ax, color):\n",
        "    try:\n",
        "        v, w = np.linalg.eigh(cov)\n",
        "        v = 2.0 * np.sqrt(2.0) * np.sqrt(v)\n",
        "        u = w[0] / np.linalg.norm(w[0])\n",
        "        angle = np.arctan(u[1] / u[0])\n",
        "        angle = 180.0 * angle / np.pi\n",
        "        ell = Ellipse(mean, v[0], v[1], angle, color=color, fill=False, linewidth=1.0)\n",
        "        ell.set_clip_box(ax.bbox)\n",
        "        ell.set_alpha(0.2)\n",
        "        ax.add_artist(ell)\n",
        "    except (np.linalg.LinAlgError, ValueError):\n",
        "        pass\n",
        "\n",
        "# Iterate over traits and colors\n",
        "for trait, color in colors.items():\n",
        "    indices = df_trait[df_trait['sample_info'] == trait].index\n",
        "    ax.scatter(pcoa_results_braycurtis.samples.iloc[indices, 0],\n",
        "               pcoa_results_braycurtis.samples.iloc[indices, 1],\n",
        "               label=trait, color=color)\n",
        "\n",
        "    # Calculate mean and covariance for the group\n",
        "    mean = pcoa_results_braycurtis.samples.iloc[indices, :2].mean()\n",
        "    cov = pcoa_results_braycurtis.samples.iloc[indices, :2].cov()\n",
        "    print(\"###mean\", mean)\n",
        "    print(\"###cov\",trait, np.linalg.eigh(cov))\n",
        "    v, w = np.linalg.eigh(cov)\n",
        "    print(\"###calc-v\",trait, len(v), v)\n",
        "    print(\"###calc-w\",trait, len(w), w)\n",
        "    u = w[0] / np.linalg.norm(w[0])\n",
        "    print(\"###calc-u\",trait, u)\n",
        "#     print(\"###trait\",trait, pcoa_results_braycurtis.samples.iloc[indices, :2])\n",
        "    # Plot ellipse if covariance is valid\n",
        "    plot_ellipse(mean, cov, ax, color)\n",
        "\n",
        "    # Annotate samples\n",
        "    for idx in indices:\n",
        "        sample_id = df_trait.iloc[idx, 0]\n",
        "        ax.annotate(sample_id, (pcoa_results_braycurtis.samples.iloc[idx, 0],\n",
        "                                pcoa_results_braycurtis.samples.iloc[idx, 1]), fontsize=5)\n",
        "\n",
        "\n",
        "ax.set_xlabel('PC1')\n",
        "ax.set_ylabel('PC2')\n",
        "title = f\"PCoA Plot - {batch} by {legend} (permanova p-value: {perm_p_value})\"\n",
        "ax.set_title(title)\n",
        "ax.legend(title=legend)\n",
        "\n",
        "# Add faint grey grid behind the plot\n",
        "ax.grid(True, color='lightgrey', linestyle='--', linewidth=0.5)\n",
        "\n",
        "\n",
        "plotname=f\"PCoA_{project}_{batch}_{legend}.png\"\n",
        "plt.savefig(plotname)\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "drboXABiQmWE"
      },
      "outputs": [],
      "source": []
    }
  ],
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3 (ipykernel)",
      "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.9.13"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}