diff --git "a/notebooks/TP6_masterLiTL_transformers_explicabilit\303\251__2223_CORRECT.ipynb" "b/notebooks/TP6_masterLiTL_transformers_explicabilit\303\251__2223_CORRECT.ipynb"
new file mode 100644
index 0000000000000000000000000000000000000000..8772d20f24908277e126b826ccbb12f04ee6fb47
--- /dev/null
+++ "b/notebooks/TP6_masterLiTL_transformers_explicabilit\303\251__2223_CORRECT.ipynb"
@@ -0,0 +1,11714 @@
+{
+  "cells": [
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "-bb49S7B50eh"
+      },
+      "source": [
+        "# TP 6: Transformers, transfert de modèles, explicabilité et biais\n",
+        "\n",
+        "Dans cette séance, nous verrons comment : \n",
+        "\n",
+        "   - Part 1: utiliser la librairie Transformers de HuggingFace et des modèles pré-entraînés\n",
+        "   - Part 2: utiliser un modèle pré-entrainé pour l'adapter à une nouvelle tâche (transfert)\n",
+        "   - Part 3: analyser les prédictions du modèle pour comprendre les résultats/analyser les erreurs\n",
+        "   - Part 4: chercher les biais éventuels du modèle lié aux données d'entrainement (de la tâche ou du modèle préentrainé)\n",
+        "\n",
+        "Nous nous intéresserons encore à la tâche d'analyse de sentiments, sur les données françaises AlloCine et anglaises IMDB.\n",
+        "Il s'agit d'une tâche de classification de séquences de mots. \n",
+        "Nous nous appuierons sur la librairie HuggingFace et les modèles de langue Transformer (i.e. BERT).  \n",
+        "- https://huggingface.co/ : une librairie de NLP open-source qui offre une API très riche pour utiliser différentes architectures et différents modèles pour les problèmes classiques de classification, sequence tagging, generation ... N'hésitez pas à parcourir les démos et modèles existants : https://huggingface.co/tasks/text-classification\n",
+        "- Un assez grand nombre de jeux de données est aussi accessible directement via l'API, pour le texte ou l'image notamment cf les jeux de données https://huggingface.co/datasets et la doc pour gérer ces données : https://huggingface.co/docs/datasets/index\n",
+        "\n",
+        "Le code ci-dessous vous permet d'installer :    \n",
+        "- le module *transformers*, qui contient les modèles de langue https://pypi.org/project/transformers/ \n",
+        "- le module *transformers_interpret* : un outil pour l'explicabilité des modèles (qui fonctionne avec le module précédent) https://pypi.org/project/transformers-interpret/\n",
+        "- la librairie de datasets pour accéder à des jeux de données\n",
+        "- la librairie *evaluate* : utilisée pour évaluer et comparer des modèles https://pypi.org/project/evaluate/"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "9UoSnFV250el",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "1e886970-910a-4601-8c81-918aa6a35113"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
+            "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n",
+            "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n",
+            "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n",
+            "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n",
+            "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n",
+            "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n",
+            "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n",
+            "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n",
+            "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n",
+            "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (21.3)\n",
+            "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n",
+            "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging>=20.0->transformers) (3.0.9)\n",
+            "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n",
+            "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n",
+            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n",
+            "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.26.14)\n",
+            "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
+            "Requirement already satisfied: transformers_interpret in /usr/local/lib/python3.8/dist-packages (0.9.6)\n",
+            "Requirement already satisfied: ipython<8.0.0,>=7.31.1 in /usr/local/lib/python3.8/dist-packages (from transformers_interpret) (7.34.0)\n",
+            "Requirement already satisfied: captum>=0.3.1 in /usr/local/lib/python3.8/dist-packages (from transformers_interpret) (0.6.0)\n",
+            "Requirement already satisfied: transformers>=3.0.0 in /usr/local/lib/python3.8/dist-packages (from transformers_interpret) (4.26.0)\n",
+            "Requirement already satisfied: torch>=1.6 in /usr/local/lib/python3.8/dist-packages (from captum>=0.3.1->transformers_interpret) (1.13.1+cu116)\n",
+            "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from captum>=0.3.1->transformers_interpret) (1.21.6)\n",
+            "Requirement already satisfied: matplotlib in /usr/local/lib/python3.8/dist-packages (from captum>=0.3.1->transformers_interpret) (3.2.2)\n",
+            "Requirement already satisfied: decorator in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (4.4.2)\n",
+            "Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (0.18.2)\n",
+            "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (2.0.10)\n",
+            "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (0.1.6)\n",
+            "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (57.4.0)\n",
+            "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (5.7.1)\n",
+            "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (4.8.0)\n",
+            "Requirement already satisfied: backcall in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (0.2.0)\n",
+            "Requirement already satisfied: pygments in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (2.6.1)\n",
+            "Requirement already satisfied: pickleshare in /usr/local/lib/python3.8/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (0.7.5)\n",
+            "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (3.9.0)\n",
+            "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (0.12.0)\n",
+            "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (4.64.1)\n",
+            "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (2.25.1)\n",
+            "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (21.3)\n",
+            "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (6.0)\n",
+            "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (2022.6.2)\n",
+            "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers>=3.0.0->transformers_interpret) (0.13.2)\n",
+            "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers>=3.0.0->transformers_interpret) (4.4.0)\n",
+            "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.8/dist-packages (from jedi>=0.16->ipython<8.0.0,>=7.31.1->transformers_interpret) (0.8.3)\n",
+            "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging>=20.0->transformers>=3.0.0->transformers_interpret) (3.0.9)\n",
+            "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.8/dist-packages (from pexpect>4.3->ipython<8.0.0,>=7.31.1->transformers_interpret) (0.7.0)\n",
+            "Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.8/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython<8.0.0,>=7.31.1->transformers_interpret) (1.15.0)\n",
+            "Requirement already satisfied: wcwidth in /usr/local/lib/python3.8/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython<8.0.0,>=7.31.1->transformers_interpret) (0.2.5)\n",
+            "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (2.8.2)\n",
+            "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (1.4.4)\n",
+            "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (0.11.0)\n",
+            "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (2.10)\n",
+            "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (1.26.14)\n",
+            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (2022.12.7)\n",
+            "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (4.0.0)\n",
+            "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
+            "Requirement already satisfied: datasets in /usr/local/lib/python3.8/dist-packages (2.9.0)\n",
+            "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.8/dist-packages (from datasets) (2.25.1)\n",
+            "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from datasets) (1.21.6)\n",
+            "Requirement already satisfied: pandas in /usr/local/lib/python3.8/dist-packages (from datasets) (1.3.5)\n",
+            "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from datasets) (21.3)\n",
+            "Requirement already satisfied: multiprocess in /usr/local/lib/python3.8/dist-packages (from datasets) (0.70.14)\n",
+            "Requirement already satisfied: responses<0.19 in /usr/local/lib/python3.8/dist-packages (from datasets) (0.18.0)\n",
+            "Requirement already satisfied: xxhash in /usr/local/lib/python3.8/dist-packages (from datasets) (3.2.0)\n",
+            "Requirement already satisfied: aiohttp in /usr/local/lib/python3.8/dist-packages (from datasets) (3.8.3)\n",
+            "Requirement already satisfied: pyarrow>=6.0.0 in /usr/local/lib/python3.8/dist-packages (from datasets) (9.0.0)\n",
+            "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.8/dist-packages (from datasets) (4.64.1)\n",
+            "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from datasets) (6.0)\n",
+            "Requirement already satisfied: huggingface-hub<1.0.0,>=0.2.0 in /usr/local/lib/python3.8/dist-packages (from datasets) (0.12.0)\n",
+            "Requirement already satisfied: dill<0.3.7 in /usr/local/lib/python3.8/dist-packages (from datasets) (0.3.6)\n",
+            "Requirement already satisfied: fsspec[http]>=2021.11.1 in /usr/local/lib/python3.8/dist-packages (from datasets) (2022.11.0)\n",
+            "Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets) (2.1.1)\n",
+            "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets) (22.2.0)\n",
+            "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets) (1.3.1)\n",
+            "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets) (4.0.2)\n",
+            "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets) (1.3.3)\n",
+            "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets) (6.0.4)\n",
+            "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets) (1.8.2)\n",
+            "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0.0,>=0.2.0->datasets) (4.4.0)\n",
+            "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0.0,>=0.2.0->datasets) (3.9.0)\n",
+            "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging->datasets) (3.0.9)\n",
+            "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->datasets) (2.10)\n",
+            "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->datasets) (1.26.14)\n",
+            "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->datasets) (4.0.0)\n",
+            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->datasets) (2022.12.7)\n",
+            "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.8/dist-packages (from pandas->datasets) (2.8.2)\n",
+            "Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.8/dist-packages (from pandas->datasets) (2022.7)\n",
+            "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.8/dist-packages (from python-dateutil>=2.7.3->pandas->datasets) (1.15.0)\n",
+            "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
+            "Requirement already satisfied: evaluate in /usr/local/lib/python3.8/dist-packages (0.4.0)\n",
+            "Requirement already satisfied: huggingface-hub>=0.7.0 in /usr/local/lib/python3.8/dist-packages (from evaluate) (0.12.0)\n",
+            "Requirement already satisfied: multiprocess in /usr/local/lib/python3.8/dist-packages (from evaluate) (0.70.14)\n",
+            "Requirement already satisfied: dill in /usr/local/lib/python3.8/dist-packages (from evaluate) (0.3.6)\n",
+            "Requirement already satisfied: xxhash in /usr/local/lib/python3.8/dist-packages (from evaluate) (3.2.0)\n",
+            "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.8/dist-packages (from evaluate) (4.64.1)\n",
+            "Requirement already satisfied: fsspec[http]>=2021.05.0 in /usr/local/lib/python3.8/dist-packages (from evaluate) (2022.11.0)\n",
+            "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from evaluate) (21.3)\n",
+            "Requirement already satisfied: responses<0.19 in /usr/local/lib/python3.8/dist-packages (from evaluate) (0.18.0)\n",
+            "Requirement already satisfied: datasets>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from evaluate) (2.9.0)\n",
+            "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.8/dist-packages (from evaluate) (2.25.1)\n",
+            "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from evaluate) (1.21.6)\n",
+            "Requirement already satisfied: pandas in /usr/local/lib/python3.8/dist-packages (from evaluate) (1.3.5)\n",
+            "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from datasets>=2.0.0->evaluate) (6.0)\n",
+            "Requirement already satisfied: pyarrow>=6.0.0 in /usr/local/lib/python3.8/dist-packages (from datasets>=2.0.0->evaluate) (9.0.0)\n",
+            "Requirement already satisfied: aiohttp in /usr/local/lib/python3.8/dist-packages (from datasets>=2.0.0->evaluate) (3.8.3)\n",
+            "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.7.0->evaluate) (4.4.0)\n",
+            "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.7.0->evaluate) (3.9.0)\n",
+            "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging->evaluate) (3.0.9)\n",
+            "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->evaluate) (2.10)\n",
+            "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->evaluate) (4.0.0)\n",
+            "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->evaluate) (1.26.14)\n",
+            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests>=2.19.0->evaluate) (2022.12.7)\n",
+            "Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.8/dist-packages (from pandas->evaluate) (2022.7)\n",
+            "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.8/dist-packages (from pandas->evaluate) (2.8.2)\n",
+            "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (1.3.1)\n",
+            "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (1.3.3)\n",
+            "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (6.0.4)\n",
+            "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (1.8.2)\n",
+            "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (22.2.0)\n",
+            "Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (2.1.1)\n",
+            "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.8/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (4.0.2)\n",
+            "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.8/dist-packages (from python-dateutil>=2.7.3->pandas->evaluate) (1.15.0)\n"
+          ]
+        }
+      ],
+      "source": [
+        "!pip install -U transformers\n",
+        "!pip install transformers_interpret\n",
+        "!pip install datasets\n",
+        "!pip install evaluate\n",
+        "#%pip install -U sklearn"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "Finally, if the installation is successful, we can import the transformers library:"
+      ],
+      "metadata": {
+        "id": "StClx_Hh9PDm"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "ZBQcA9Ol50en"
+      },
+      "outputs": [],
+      "source": [
+        "import transformers\n",
+        "from transformers_interpret import SequenceClassificationExplainer, TokenClassificationExplainer\n",
+        "from datasets import load_dataset\n",
+        "import evaluate\n",
+        "import numpy as np\n",
+        "import sklearn"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "3TIXCS5P50en"
+      },
+      "outputs": [],
+      "source": [
+        "from transformers import AutoModelForSequenceClassification, AutoTokenizer\n",
+        "from transformers import AutoModelForTokenClassification"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "vCLf1g8z50ep"
+      },
+      "outputs": [],
+      "source": [
+        "import pandas as pds\n",
+        "from tqdm import tqdm"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Part 1: Transformers pipeline\n",
+        "\n",
+        "As seen during the course, the current state of the art for NLP is based on large language models trained using the Transformer architecture.\n",
+        "\n",
+        "In the next exercises, we will learn how to use pretrained models that are available in the HuggingFace library, starting with Trnasformers pipelines."
+      ],
+      "metadata": {
+        "id": "uGZBOXpTXA72"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "from transformers import pipeline"
+      ],
+      "metadata": {
+        "id": "Od8TVRnQJ8TH"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 1.1 Fill-mask: identifying biases\n",
+        "\n",
+        "Un modèle pré-entraîné type BERT est un modèle de langue construit avec une tâche spécifique, non supervisée, permettant d'apprendre des associations entre les mots, et donc des représentations des mots dépendantes de leur contexte. \n",
+        "Dans le cas de ce modèle, l'apprentissage se fait en masquant un certain nombre de mots que le modèle doit apprendre à retrouver. \n",
+        "\n",
+        "On peut tester la capacité de ce modèle à deviner un mot manquant dans une phrase. \n",
+        "Dans HuggingFace, des pipelines permettent d'exécuter certaines tâches comme celle-ci très facilement, cf le code ci-dessous. \n",
+        "\n",
+        "https://huggingface.co/docs/transformers/main_classes/pipelines"
+      ],
+      "metadata": {
+        "id": "mgZLir27AJhe"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### ▶▶ **Exercice : fill-mask**  \n",
+        "- Faire tourner le code ci-dessous et vérifier que vous comprenez la sortie affichée. \n",
+        "- Est-ce que les sorties proposées font sens à vos yeux ?"
+      ],
+      "metadata": {
+        "id": "HwRF_nyRiH2I"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "# Chosing the pre-trained model\n",
+        "# - distilBERT: specific, faster and lighter version of BERT\n",
+        "# - base vs large\n",
+        "# - uncased: ignore upper case\n",
+        "base_model = \"distilbert-base-uncased\""
+      ],
+      "metadata": {
+        "id": "DztvpOSXNIrx"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker = pipeline('fill-mask', model=base_model)\n",
+        "unmasker(\"Hello I'm a [MASK] model.\")"
+      ],
+      "metadata": {
+        "id": "Rz3VKNRWxZVK",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "b11551c9-1b6f-401a-edb1-ba4ef0f5850e"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.052928581833839417,\n",
+              "  'token': 2535,\n",
+              "  'token_str': 'role',\n",
+              "  'sequence': \"hello i'm a role model.\"},\n",
+              " {'score': 0.03968587517738342,\n",
+              "  'token': 4827,\n",
+              "  'token_str': 'fashion',\n",
+              "  'sequence': \"hello i'm a fashion model.\"},\n",
+              " {'score': 0.03474365547299385,\n",
+              "  'token': 2449,\n",
+              "  'token_str': 'business',\n",
+              "  'sequence': \"hello i'm a business model.\"},\n",
+              " {'score': 0.034623004496097565,\n",
+              "  'token': 2944,\n",
+              "  'token_str': 'model',\n",
+              "  'sequence': \"hello i'm a model model.\"},\n",
+              " {'score': 0.018145214766263962,\n",
+              "  'token': 11643,\n",
+              "  'token_str': 'modeling',\n",
+              "  'sequence': \"hello i'm a modeling model.\"}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 13
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 1.2 Biais dans les données\n",
+        "\n",
+        "Comme identifié dans la littérature, ces modèles contiennent des biais dépendants de leurs données d'entraînement.\n",
+        "\n",
+        "- Article e.g. *The Woman Worked as a Babysitter: On Biases in Language Generation*, Sheng et al, EMNLP, 2019  https://aclanthology.org/D19-1339/ \n",
+        "\n",
+        "#### ▶▶ Exercice : Identifier les biais\n",
+        " \n",
+        "Ajoutez des tests pour identifier des biais en vous inspirant des exemples ci-dessous : quel type de biais pouvez-vous identifier ?\n",
+        "\n"
+      ],
+      "metadata": {
+        "id": "txdDbcvAiYGv"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The man with a college degree worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "djn2WiRdi-vL",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "aeb9df16-1a19-420d-9234-488d54b8b189"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.0836869478225708,\n",
+              "  'token': 10533,\n",
+              "  'token_str': 'carpenter',\n",
+              "  'sequence': 'the man with a college degree worked as a carpenter.'},\n",
+              " {'score': 0.05165715888142586,\n",
+              "  'token': 7500,\n",
+              "  'token_str': 'farmer',\n",
+              "  'sequence': 'the man with a college degree worked as a farmer.'},\n",
+              " {'score': 0.043427977710962296,\n",
+              "  'token': 15610,\n",
+              "  'token_str': 'waiter',\n",
+              "  'sequence': 'the man with a college degree worked as a waiter.'},\n",
+              " {'score': 0.03968983516097069,\n",
+              "  'token': 18968,\n",
+              "  'token_str': 'salesman',\n",
+              "  'sequence': 'the man with a college degree worked as a salesman.'},\n",
+              " {'score': 0.03496324643492699,\n",
+              "  'token': 15893,\n",
+              "  'token_str': 'mechanic',\n",
+              "  'sequence': 'the man with a college degree worked as a mechanic.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 14
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The black man with a college degree worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "CjZcX8TUjLsP",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "be48262a-4cb7-438c-fbd5-83daa6959587"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.07276193052530289,\n",
+              "  'token': 10533,\n",
+              "  'token_str': 'carpenter',\n",
+              "  'sequence': 'the black man with a college degree worked as a carpenter.'},\n",
+              " {'score': 0.0521610826253891,\n",
+              "  'token': 15610,\n",
+              "  'token_str': 'waiter',\n",
+              "  'sequence': 'the black man with a college degree worked as a waiter.'},\n",
+              " {'score': 0.04256370663642883,\n",
+              "  'token': 18594,\n",
+              "  'token_str': 'miner',\n",
+              "  'sequence': 'the black man with a college degree worked as a miner.'},\n",
+              " {'score': 0.03880532458424568,\n",
+              "  'token': 7500,\n",
+              "  'token_str': 'farmer',\n",
+              "  'sequence': 'the black man with a college degree worked as a farmer.'},\n",
+              " {'score': 0.03137959912419319,\n",
+              "  'token': 14460,\n",
+              "  'token_str': 'policeman',\n",
+              "  'sequence': 'the black man with a college degree worked as a policeman.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 15
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### --- CORRECTION"
+      ],
+      "metadata": {
+        "id": "95TRIipye0aF"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The woman with a college degree worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "o3WfpnMGjI-a",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "ae298ea5-1457-4565-f727-5d7ba5a0647e"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.19873866438865662,\n",
+              "  'token': 6821,\n",
+              "  'token_str': 'nurse',\n",
+              "  'sequence': 'the woman with a college degree worked as a nurse.'},\n",
+              " {'score': 0.08142151683568954,\n",
+              "  'token': 13877,\n",
+              "  'token_str': 'waitress',\n",
+              "  'sequence': 'the woman with a college degree worked as a waitress.'},\n",
+              " {'score': 0.0725824236869812,\n",
+              "  'token': 10850,\n",
+              "  'token_str': 'maid',\n",
+              "  'sequence': 'the woman with a college degree worked as a maid.'},\n",
+              " {'score': 0.06158369034528732,\n",
+              "  'token': 19215,\n",
+              "  'token_str': 'prostitute',\n",
+              "  'sequence': 'the woman with a college degree worked as a prostitute.'},\n",
+              " {'score': 0.06116723641753197,\n",
+              "  'token': 3836,\n",
+              "  'token_str': 'teacher',\n",
+              "  'sequence': 'the woman with a college degree worked as a teacher.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 16
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The Black worked as [MASK].\")"
+      ],
+      "metadata": {
+        "id": "xeGg20KGj-7g",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "200ccb97-4904-43ce-cd67-8d6313a4ef6c"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.30945900082588196,\n",
+              "  'token': 7179,\n",
+              "  'token_str': 'slaves',\n",
+              "  'sequence': 'the black worked as slaves.'},\n",
+              " {'score': 0.058367520570755005,\n",
+              "  'token': 19331,\n",
+              "  'token_str': 'mercenaries',\n",
+              "  'sequence': 'the black worked as mercenaries.'},\n",
+              " {'score': 0.03733209893107414,\n",
+              "  'token': 23428,\n",
+              "  'token_str': 'laborers',\n",
+              "  'sequence': 'the black worked as laborers.'},\n",
+              " {'score': 0.02308565005660057,\n",
+              "  'token': 26279,\n",
+              "  'token_str': 'extras',\n",
+              "  'sequence': 'the black worked as extras.'},\n",
+              " {'score': 0.022035855799913406,\n",
+              "  'token': 8858,\n",
+              "  'token_str': 'servants',\n",
+              "  'sequence': 'the black worked as servants.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 17
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The White man worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "43DnecKPj1OK",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "3ab1a121-82b6-437d-8fc5-748420bd566e"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.12353670597076416,\n",
+              "  'token': 20987,\n",
+              "  'token_str': 'blacksmith',\n",
+              "  'sequence': 'the white man worked as a blacksmith.'},\n",
+              " {'score': 0.1014256551861763,\n",
+              "  'token': 10533,\n",
+              "  'token_str': 'carpenter',\n",
+              "  'sequence': 'the white man worked as a carpenter.'},\n",
+              " {'score': 0.0498502142727375,\n",
+              "  'token': 7500,\n",
+              "  'token_str': 'farmer',\n",
+              "  'sequence': 'the white man worked as a farmer.'},\n",
+              " {'score': 0.039325516670942307,\n",
+              "  'token': 18594,\n",
+              "  'token_str': 'miner',\n",
+              "  'sequence': 'the white man worked as a miner.'},\n",
+              " {'score': 0.03351777419447899,\n",
+              "  'token': 14998,\n",
+              "  'token_str': 'butcher',\n",
+              "  'sequence': 'the white man worked as a butcher.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 18
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The Black woman worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "D8c5YqNNjUr-",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "de66ef36-adcc-4d9c-a4e7-94b31c86bd00"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.13283929228782654,\n",
+              "  'token': 13877,\n",
+              "  'token_str': 'waitress',\n",
+              "  'sequence': 'the black woman worked as a waitress.'},\n",
+              " {'score': 0.12586210668087006,\n",
+              "  'token': 6821,\n",
+              "  'token_str': 'nurse',\n",
+              "  'sequence': 'the black woman worked as a nurse.'},\n",
+              " {'score': 0.11708814650774002,\n",
+              "  'token': 10850,\n",
+              "  'token_str': 'maid',\n",
+              "  'sequence': 'the black woman worked as a maid.'},\n",
+              " {'score': 0.11500032991170883,\n",
+              "  'token': 19215,\n",
+              "  'token_str': 'prostitute',\n",
+              "  'sequence': 'the black woman worked as a prostitute.'},\n",
+              " {'score': 0.04722737520933151,\n",
+              "  'token': 22583,\n",
+              "  'token_str': 'housekeeper',\n",
+              "  'sequence': 'the black woman worked as a housekeeper.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 19
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The White woman worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "PdeqhE4bjv6D",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "1b7f2ada-f511-4a0b-c543-a9769d6ef349"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.11619510501623154,\n",
+              "  'token': 6821,\n",
+              "  'token_str': 'nurse',\n",
+              "  'sequence': 'the white woman worked as a nurse.'},\n",
+              " {'score': 0.11591066420078278,\n",
+              "  'token': 10850,\n",
+              "  'token_str': 'maid',\n",
+              "  'sequence': 'the white woman worked as a maid.'},\n",
+              " {'score': 0.08475460112094879,\n",
+              "  'token': 19215,\n",
+              "  'token_str': 'prostitute',\n",
+              "  'sequence': 'the white woman worked as a prostitute.'},\n",
+              " {'score': 0.07816646248102188,\n",
+              "  'token': 13877,\n",
+              "  'token_str': 'waitress',\n",
+              "  'sequence': 'the white woman worked as a waitress.'},\n",
+              " {'score': 0.05035815387964249,\n",
+              "  'token': 10533,\n",
+              "  'token_str': 'carpenter',\n",
+              "  'sequence': 'the white woman worked as a carpenter.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 20
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The gay person worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "5Ak-GvaljZWX",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "7d21d076-a408-4cf1-d4fa-93129801e439"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.1090778186917305,\n",
+              "  'token': 19215,\n",
+              "  'token_str': 'prostitute',\n",
+              "  'sequence': 'the gay person worked as a prostitute.'},\n",
+              " {'score': 0.036789458245038986,\n",
+              "  'token': 15610,\n",
+              "  'token_str': 'waiter',\n",
+              "  'sequence': 'the gay person worked as a waiter.'},\n",
+              " {'score': 0.030352333560585976,\n",
+              "  'token': 3836,\n",
+              "  'token_str': 'teacher',\n",
+              "  'sequence': 'the gay person worked as a teacher.'},\n",
+              " {'score': 0.023075560107827187,\n",
+              "  'token': 5011,\n",
+              "  'token_str': 'priest',\n",
+              "  'sequence': 'the gay person worked as a priest.'},\n",
+              " {'score': 0.019851477816700935,\n",
+              "  'token': 14460,\n",
+              "  'token_str': 'policeman',\n",
+              "  'sequence': 'the gay person worked as a policeman.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 21
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The gay person was known for his [MASK].\")"
+      ],
+      "metadata": {
+        "id": "r3tLuca8jfRn",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "2956cb02-0844-40dc-9d2a-07189e915ea3"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.2196696400642395,\n",
+              "  'token': 15949,\n",
+              "  'token_str': 'homosexuality',\n",
+              "  'sequence': 'the gay person was known for his homosexuality.'},\n",
+              " {'score': 0.06255075335502625,\n",
+              "  'token': 13798,\n",
+              "  'token_str': 'sexuality',\n",
+              "  'sequence': 'the gay person was known for his sexuality.'},\n",
+              " {'score': 0.04063289985060692,\n",
+              "  'token': 16841,\n",
+              "  'token_str': 'activism',\n",
+              "  'sequence': 'the gay person was known for his activism.'},\n",
+              " {'score': 0.034701406955718994,\n",
+              "  'token': 17211,\n",
+              "  'token_str': 'humour',\n",
+              "  'sequence': 'the gay person was known for his humour.'},\n",
+              " {'score': 0.03238072991371155,\n",
+              "  'token': 8562,\n",
+              "  'token_str': 'humor',\n",
+              "  'sequence': 'the gay person was known for his humor.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 22
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The straight person was known for his [MASK].\")"
+      ],
+      "metadata": {
+        "id": "Mb2yGTa0jqhN",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "83322b5f-f56e-4533-8e26-55fcd25829dd"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.05492725968360901,\n",
+              "  'token': 16718,\n",
+              "  'token_str': 'honesty',\n",
+              "  'sequence': 'the straight person was known for his honesty.'},\n",
+              " {'score': 0.03354189172387123,\n",
+              "  'token': 26161,\n",
+              "  'token_str': 'generosity',\n",
+              "  'sequence': 'the straight person was known for his generosity.'},\n",
+              " {'score': 0.027427522465586662,\n",
+              "  'token': 15966,\n",
+              "  'token_str': 'wit',\n",
+              "  'sequence': 'the straight person was known for his wit.'},\n",
+              " {'score': 0.024458419531583786,\n",
+              "  'token': 17211,\n",
+              "  'token_str': 'humour',\n",
+              "  'sequence': 'the straight person was known for his humour.'},\n",
+              " {'score': 0.023624032735824585,\n",
+              "  'token': 6180,\n",
+              "  'token_str': 'personality',\n",
+              "  'sequence': 'the straight person was known for his personality.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 23
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The trans person was known for his [MASK].\")"
+      ],
+      "metadata": {
+        "id": "R6plpiGElk3J",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "9b5b1291-4ff0-4d48-e71a-a67fdd466a32"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.048456788063049316,\n",
+              "  'token': 26161,\n",
+              "  'token_str': 'generosity',\n",
+              "  'sequence': 'the trans person was known for his generosity.'},\n",
+              " {'score': 0.019744403660297394,\n",
+              "  'token': 17211,\n",
+              "  'token_str': 'humour',\n",
+              "  'sequence': 'the trans person was known for his humour.'},\n",
+              " {'score': 0.018900150433182716,\n",
+              "  'token': 5053,\n",
+              "  'token_str': 'beauty',\n",
+              "  'sequence': 'the trans person was known for his beauty.'},\n",
+              " {'score': 0.016817132011055946,\n",
+              "  'token': 16534,\n",
+              "  'token_str': 'bravery',\n",
+              "  'sequence': 'the trans person was known for his bravery.'},\n",
+              " {'score': 0.016592619940638542,\n",
+              "  'token': 14842,\n",
+              "  'token_str': 'creativity',\n",
+              "  'sequence': 'the trans person was known for his creativity.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 24
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The Black man has a job as [MASK].\")"
+      ],
+      "metadata": {
+        "id": "rF7Lz6e5kFig",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "031bf973-4741-4656-fc1a-01dad6f0320f"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.06022161617875099,\n",
+              "  'token': 6458,\n",
+              "  'token_str': 'sheriff',\n",
+              "  'sequence': 'the black man has a job as sheriff.'},\n",
+              " {'score': 0.037148233503103256,\n",
+              "  'token': 20707,\n",
+              "  'token_str': 'postmaster',\n",
+              "  'sequence': 'the black man has a job as postmaster.'},\n",
+              " {'score': 0.022326815873384476,\n",
+              "  'token': 15812,\n",
+              "  'token_str': 'bartender',\n",
+              "  'sequence': 'the black man has a job as bartender.'},\n",
+              " {'score': 0.021663453429937363,\n",
+              "  'token': 3664,\n",
+              "  'token_str': 'mayor',\n",
+              "  'sequence': 'the black man has a job as mayor.'},\n",
+              " {'score': 0.0186639204621315,\n",
+              "  'token': 10211,\n",
+              "  'token_str': 'treasurer',\n",
+              "  'sequence': 'the black man has a job as treasurer.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 25
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The teacher was a beautiful [MASK].\")"
+      ],
+      "metadata": {
+        "id": "JBl7nrOAlrO_",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "e85126a1-2e79-491f-c967-46cb18002f10"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.1796017289161682,\n",
+              "  'token': 2450,\n",
+              "  'token_str': 'woman',\n",
+              "  'sequence': 'the teacher was a beautiful woman.'},\n",
+              " {'score': 0.06431334465742111,\n",
+              "  'token': 2611,\n",
+              "  'token_str': 'girl',\n",
+              "  'sequence': 'the teacher was a beautiful girl.'},\n",
+              " {'score': 0.04541614651679993,\n",
+              "  'token': 3203,\n",
+              "  'token_str': 'lady',\n",
+              "  'sequence': 'the teacher was a beautiful lady.'},\n",
+              " {'score': 0.04520329087972641,\n",
+              "  'token': 3836,\n",
+              "  'token_str': 'teacher',\n",
+              "  'sequence': 'the teacher was a beautiful teacher.'},\n",
+              " {'score': 0.034671589732170105,\n",
+              "  'token': 5053,\n",
+              "  'token_str': 'beauty',\n",
+              "  'sequence': 'the teacher was a beautiful beauty.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 26
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The teacher was a clever [MASK].\")"
+      ],
+      "metadata": {
+        "id": "4xxMi6-Plxqz",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "3b9da341-40da-47e9-a8bc-80a1d3741404"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.05148640275001526,\n",
+              "  'token': 12383,\n",
+              "  'token_str': 'thief',\n",
+              "  'sequence': 'the teacher was a clever thief.'},\n",
+              " {'score': 0.03377620503306389,\n",
+              "  'token': 16374,\n",
+              "  'token_str': 'liar',\n",
+              "  'sequence': 'the teacher was a clever liar.'},\n",
+              " {'score': 0.024936025962233543,\n",
+              "  'token': 2158,\n",
+              "  'token_str': 'man',\n",
+              "  'sequence': 'the teacher was a clever man.'},\n",
+              " {'score': 0.01814371533691883,\n",
+              "  'token': 16669,\n",
+              "  'token_str': 'magician',\n",
+              "  'sequence': 'the teacher was a clever magician.'},\n",
+              " {'score': 0.01677374541759491,\n",
+              "  'token': 2879,\n",
+              "  'token_str': 'boy',\n",
+              "  'sequence': 'the teacher was a clever boy.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 27
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "unmasker(\"The poor man worked as a [MASK].\")"
+      ],
+      "metadata": {
+        "id": "sGgPCYcVmFLx",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "f9085a58-c47c-41c4-bbc7-b0e145aa7e08"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'score': 0.11709769070148468,\n",
+              "  'token': 20987,\n",
+              "  'token_str': 'blacksmith',\n",
+              "  'sequence': 'the poor man worked as a blacksmith.'},\n",
+              " {'score': 0.10911791026592255,\n",
+              "  'token': 10533,\n",
+              "  'token_str': 'carpenter',\n",
+              "  'sequence': 'the poor man worked as a carpenter.'},\n",
+              " {'score': 0.08458911627531052,\n",
+              "  'token': 7500,\n",
+              "  'token_str': 'farmer',\n",
+              "  'sequence': 'the poor man worked as a farmer.'},\n",
+              " {'score': 0.07739286124706268,\n",
+              "  'token': 14998,\n",
+              "  'token_str': 'butcher',\n",
+              "  'sequence': 'the poor man worked as a butcher.'},\n",
+              " {'score': 0.03964861482381821,\n",
+              "  'token': 22701,\n",
+              "  'token_str': 'tailor',\n",
+              "  'sequence': 'the poor man worked as a tailor.'}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 28
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 1.3 Sentiment analysis with a pretrained model \n",
+        "\n",
+        "Many NLP tasks are made easy to perform within HuggingFace using the Pipeline abstraction.\n",
+        "\n",
+        "Useful resource: course made available on HuggingFace website, e.g. part on pipelines: https://huggingface.co/course/chapter1/3?fw=pt#working-with-pipelines\n",
+        "\n",
+        "\n",
+        "For example for text classification, we can very simply have access to pretrained models for varied tasks, included sentiment analysis:\n",
+        "https://huggingface.co/docs/transformers/main_classes/pipelines#transformers.TextClassificationPipeline\n",
+        "\n",
+        "Let's try!"
+      ],
+      "metadata": {
+        "id": "4avqXNnF73M0"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### 1.3.1 ▶▶ Exercise: Default model\n",
+        "\n",
+        "You can test pipelines by simply specifying the task you want to perform, a model is chosen by default.\n",
+        "\n",
+        "Run the code below:\n",
+        "* what is the name of the chosen pretrained model?\n",
+        "* what language?\n",
+        "* run the next lines and look at the predictions of the model, does it seem alright? Can you produce an example that is not well predicted?"
+      ],
+      "metadata": {
+        "id": "TxAzsZLjA6P_"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier = pipeline(\"sentiment-analysis\")"
+      ],
+      "metadata": {
+        "id": "y-Y4a8Dn_6n7",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "b0c67aad-ed20-45bc-a608-dd9973a0ad4e"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "No model was supplied, defaulted to distilbert-base-uncased-finetuned-sst-2-english and revision af0f99b (https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english).\n",
+            "Using a pipeline without specifying a model name and revision in production is not recommended.\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier(\"This movie is disgustingly good !\")"
+      ],
+      "metadata": {
+        "id": "nRDF7Sd4ArdG",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "ff5be08b-9200-4d9f-b1a6-28fb6dd6e074"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'label': 'POSITIVE', 'score': 0.9998536109924316}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 30
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier(\"This movie is not as good as expected !\")"
+      ],
+      "metadata": {
+        "id": "iNcy1YsjArko",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "08ed2184-c9d7-44cd-d5e6-fb5a60d7781a"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'label': 'NEGATIVE', 'score': 0.9997926354408264}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 31
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [],
+      "metadata": {
+        "id": "O9ZL4YKMD4ra"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [],
+      "metadata": {
+        "id": "XadsLGxUD4uM"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [],
+      "metadata": {
+        "id": "_DerR4loD4w1"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "------------------------------------------------------------------\n",
+        "SOLUTION"
+      ],
+      "metadata": {
+        "id": "w6ANjGJmHZhu"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier(\"I can't say I love that movie !\")"
+      ],
+      "metadata": {
+        "id": "rsyuv54wArrx",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "43ea739c-1b45-4c4b-cc7e-9e9c994c4290"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'label': 'POSITIVE', 'score': 0.7084577083587646}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 32
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier(\"I can't say I hate that movie !\")"
+      ],
+      "metadata": {
+        "id": "m9TDnDF_AsCc",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "852409c0-3945-47e7-a3bf-07e760f8a531"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'label': 'NEGATIVE', 'score': 0.8012486100196838}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 33
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### 1.3.2 Specifying a pretrained model for English \n",
+        "\n",
+        "You can specify the pretrained model you want to use. \n",
+        "HuggingFace makes available tons of models for NLP (and other domains).\n",
+        "You can browse them on this page, here restricted to English model for Text classification tasks: https://huggingface.co/models?language=en&pipeline_tag=text-classification&sort=downloads\n",
+        "\n",
+        "then, you specify the pretrained model you want to use, here it's a variation of BERT (lighter). \n",
+        "Then, you can directly use this pretrained model for predicting on a new example. "
+      ],
+      "metadata": {
+        "id": "ipX_Nwxi_q9D"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier = pipeline(model=\"distilbert-base-uncased-finetuned-sst-2-english\")\n",
+        "classifier(\"This movie is disgustingly good !\")"
+      ],
+      "metadata": {
+        "id": "Wa6rS_po72mT",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "5367d989-8ea3-4cbe-e63f-30cedbec1283"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'label': 'POSITIVE', 'score': 0.9998536109924316}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 34
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 1.3.3 ▶▶ Exercise: use a pretrained model for French\n",
+        "\n",
+        "Now, take a look at the models page and find a suitable model for the task in French: we want to try an adapted version of **FlauBERT**. \n",
+        "\n",
+        "* Find the model in the database, look at the documentation: how has been built this model? \n",
+        "* load it. You will need to install sacremoses library using ```!pip install sacremoses```\n",
+        "* Then try it on a few examples."
+      ],
+      "metadata": {
+        "id": "dQo8pS93BJKf"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "--------------------------------------------\n",
+        "SOLUTION: 'nlptown/flaubert_small_cased_sentiment'\n",
+        "\n",
+        "First we need to find a suitable model for our task, for example this one: https://huggingface.co/nlptown/flaubert_small_cased_sentiment\n",
+        "\n",
+        "Take a look at the documentation about this model: how has it been built?\n",
+        "* based on FlauBERT, itself based on BERT, trained over large corpora of French documents\n",
+        "* cased = keep upper and lower case\n",
+        "* fine-tuned on sentiment analysis, using amazon product reviews (and 5 stars)"
+      ],
+      "metadata": {
+        "id": "1JaxhO0ZBXo7"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "!pip install sacremoses"
+      ],
+      "metadata": {
+        "id": "i5t_Ik688rIX",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "a4d59b48-ff57-4788-f085-7ccc39cea412"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
+            "Requirement already satisfied: sacremoses in /usr/local/lib/python3.8/dist-packages (0.0.53)\n",
+            "Requirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from sacremoses) (7.1.2)\n",
+            "Requirement already satisfied: joblib in /usr/local/lib/python3.8/dist-packages (from sacremoses) (1.2.0)\n",
+            "Requirement already satisfied: six in /usr/local/lib/python3.8/dist-packages (from sacremoses) (1.15.0)\n",
+            "Requirement already satisfied: regex in /usr/local/lib/python3.8/dist-packages (from sacremoses) (2022.6.2)\n",
+            "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from sacremoses) (4.64.1)\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "pretrained_model = \"nlptown/flaubert_small_cased_sentiment\"\n",
+        "classifier = pipeline(model=pretrained_model)"
+      ],
+      "metadata": {
+        "id": "Qpuldij38AwO",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "7dce856b-236e-4543-a9e8-b6ce99aadcc1"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "`do_lowercase_and_remove_accent` is passed as a keyword argument, but this won't do anything. `FlaubertTokenizer` will always set it to `False`.\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier(\"ce film est un navet\")"
+      ],
+      "metadata": {
+        "id": "RzYD0A2l8AzZ",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "98cfaaf4-c234-4b80-e71f-837030902a7a"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'label': 'very_negative', 'score': 0.8692097067832947}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 37
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "classifier(\"je ne peux pas dire que je déteste ce film\")"
+      ],
+      "metadata": {
+        "id": "nOSpegNR8A2X",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "eb76d33a-4489-4c7c-88df-849d88fbf773"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[{'label': 'very_positive', 'score': 0.5880908966064453}]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 38
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 1.3.4 Using our own dataset for evaluation\n",
+        "\n",
+        "Here, we're simply going to load our dataset and evaluate a pretrained language model on it.\n",
+        "\n",
+        "HuggingFace has a library dedicated to datasets:\n",
+        "* 'load_dataset' can load data from a tsv/csv file, see the code below \n",
+        "* it directly creates the training/validation/test sets from the dictionary of input files.\n",
+        "\n",
+        "https://huggingface.co/course/chapter5/2?fw=pt\n",
+        "https://huggingface.co/docs/datasets/tabular_load#csv-files\n",
+        "https://huggingface.co/docs/datasets/v2.8.0/en/package_reference/loading_methods#datasets.load_dataset.split"
+      ],
+      "metadata": {
+        "id": "-xFvKUiFBnL1"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "from datasets import load_dataset\n",
+        "\n",
+        "file_dict = {\n",
+        "  \"train\" : \"allocine_train.tsv\",\n",
+        "  \"dev\"  : \"allocine_dev.tsv\", \n",
+        "  \"test\" : \"allocine_test.tsv\"\n",
+        "}\n",
+        "\n",
+        "dataset = load_dataset(\n",
+        "  'csv', #type of files\n",
+        "  data_files=file_dict, #input files\n",
+        "  delimiter='\\t', # delimiter in the csv format\n",
+        "  column_names=['movie_id', 'user_id', 'sentiment', 'review'], #column names in the csv file\n",
+        "  skiprows=1, #skip the first line\n",
+        ")\n",
+        "\n",
+        "print(dataset[\"train\"])\n",
+        "\n",
+        "# Print a few examples\n",
+        "sample = dataset[\"train\"].shuffle(seed=42).select(range(1000))\n",
+        "# Peek at the first few examples\n",
+        "sample[:3]\n"
+      ],
+      "metadata": {
+        "id": "gb5KqKSYJmW3",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 364,
+          "referenced_widgets": [
+            "a3d5065721064cca86aa2c1598053db3",
+            "3b3b877997064cf3b347ec7f9a8c06e4",
+            "96cdb560d9e44145a0b6cc056e2ea203",
+            "1040d9777c574afaa6d6c2ec893118a3",
+            "d10a06291f9e42959ff48506522f22c1",
+            "3d4897a33b1841b9a86e953bd1fa1dc8",
+            "9f3eb343824d4c2183effbc9d9bfc02d",
+            "2b4f0593254a45b58e2fc10b0002d5b3",
+            "a8b5d0884e1e4b88bfa7ad086b8d89a3",
+            "d84e6735e79f42ab8a4a2fe7bf018738",
+            "79140d592a7c47448c33ac343e1685f3"
+          ]
+        },
+        "outputId": "af95658a-b777-43b2-d1bd-b3b4bb71c376"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "WARNING:datasets.builder:Using custom data configuration default-ba6bca746c23c48b\n",
+            "WARNING:datasets.builder:Found cached dataset csv (/root/.cache/huggingface/datasets/csv/default-ba6bca746c23c48b/0.0.0/6b34fb8fcf56f7c8ba51dc895bfa2bfbe43546f190a60fcf74bb5e8afdcc2317)\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "  0%|          | 0/3 [00:00<?, ?it/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "a3d5065721064cca86aa2c1598053db3"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "WARNING:datasets.arrow_dataset:Loading cached shuffled indices for dataset at /root/.cache/huggingface/datasets/csv/default-ba6bca746c23c48b/0.0.0/6b34fb8fcf56f7c8ba51dc895bfa2bfbe43546f190a60fcf74bb5e8afdcc2317/cache-c0fa93cb45543bf1.arrow\n"
+          ]
+        },
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Dataset({\n",
+            "    features: ['movie_id', 'user_id', 'sentiment', 'review'],\n",
+            "    num_rows: 5027\n",
+            "})\n"
+          ]
+        },
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "{'movie_id': [438, 354, 633],\n",
+              " 'user_id': [170, 246, 350],\n",
+              " 'sentiment': [1, 1, 0],\n",
+              " 'review': [\"Completement barrés cette bande de dejantés Excellent serie Presque digne des Monthy Pytons et de leur sacré graal Alexandre Astier est très bon réalisateur en plus d'etre bon acteur J'ai hate de voir ce que peux donner le film\",\n",
+              "  'Cette série me fait sourire. Je trouve Chandra Wilson particulièrement drôle dans son rôle de \"Dragon\" enceinte. Ellen Pompeo est vraiment \"dans\" le rôle de Meredith Grey. Chaque acteur apporte à la série une touche d\\'humour particulière. Ce que je trouve amusant, c\\'est la passion de ces jeunes internes pour chaque nouveau \"cas\" unique.',\n",
+              "  \"Mise en scène ridicule (vive les scènes d'extérieur, l'éclairage et l'inspiration américaine), acteurs incroyablement mauvais (tous ou presque), scénario navrant (avec des méchants risibles et des gentils mièvres). La nullité a un nom: Plus belle la vie.\"]}"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 39
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### ▶▶ Exercise: evaluate the pretrained model on your data\n",
+        "\n",
+        "* Using the model FlauBERT for sentiment analysis for French and the *pipeline* method, make predictions on some examples in the dataset \n",
+        "* Take a look at the predictions: do you understand the output? \n",
+        "* Write a piece of code to compute the score obtained by this pretrained model on your validation / dev set. Hint: no need for anything from the HuggingFace library, just compare the gold and predicted labels."
+      ],
+      "metadata": {
+        "id": "n1kbUmQ3H3H9"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "-----------------------------------------\n",
+        "SOLUTION"
+      ],
+      "metadata": {
+        "id": "dqheBv3jIOX6"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "pretrained_model = \"nlptown/flaubert_small_cased_sentiment\"\n",
+        "classifier = pipeline(model=pretrained_model)\n",
+        "\n",
+        "print(dataset[\"train\"][0]['review'])\n",
+        "print( classifier(dataset[\"train\"][0]['review']))"
+      ],
+      "metadata": {
+        "id": "12kiRBwPF-89",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "67f42c08-d8b1-4380-a665-6b5044d4fc90"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "`do_lowercase_and_remove_accent` is passed as a keyword argument, but this won't do anything. `FlaubertTokenizer` will always set it to `False`.\n"
+          ]
+        },
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Stephen King doit bien ricaner en constatant cette navrante histoire de disparus, les scénaristes semblent s'être inspirés de ses oeuvres mais ont bien moins son talent que celui du business. Quel perte de temps que de regarder ces personnages perdus au centre d'une histoire sans fin et sans intérêt, où 2 ou 3 épisodes suffisent pour décrocher, à l'inverse d'une série comme Desperate housewives dont les dialogues, les scénarii et les personnages contribuent sans cesse à relancer l'intérêt et le plaisir au fil des épisodes. Pourtant mes goûts initiaux m'auraient porté davantage du côté de la série fantastique. Il ne faut préjuger de rien! A bon entendeur...\n",
+            "[{'label': 'negative', 'score': 0.6540932655334473}]\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "# TODO : a modifier, ici les 'mised' sont pris en compte bizarrement, score de confiance != score de proba\n",
+        "\n",
+        "map_label = {'negative':0, 'very_negative':0, 'very_positive':1, 'positive':1}\n",
+        "def convert_label( output ):\n",
+        "  label = output['label']\n",
+        "  score = output['score'] \n",
+        "  if label in map_label:\n",
+        "    return map_label[label]\n",
+        "  elif score > 0.5:\n",
+        "    return 1\n",
+        "  else:\n",
+        "    return 0"
+      ],
+      "metadata": {
+        "id": "bsR3dMWQDntT"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "correct, total = 0,0\n",
+        "for ex in dataset[\"dev\"]:\n",
+        "  prediction = classifier(ex['review'])\n",
+        "  gold = ex['sentiment']\n",
+        "  mapped_label = convert_label ( prediction[0] )\n",
+        "  #print( prediction[0], mapped_label, gold )\n",
+        "  if mapped_label == gold:\n",
+        "    correct += 1\n",
+        "  total += 1\n",
+        "print( correct/total )"
+      ],
+      "metadata": {
+        "id": "YnbeOe2tELlV",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "d575456c-df34-4625-8e99-95f92372b83f"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "0.8743169398907104\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [],
+      "metadata": {
+        "id": "AX93xGTtAS91"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Part 2 - Transfert / fine-tuning : analyse de sentiment\n",
+        "\n",
+        "Dans cette partie, nous allons fine-tuner / affiner un modèle de langue pré-entraîné (agnostique) pour l'adapter à la tâche d'analyse de sentiment.\n",
+        "\n",
+        "On travaillera sur des données en anglais (corpus IMDb, que l'on peut directement charger depuis HuggingFace). "
+      ],
+      "metadata": {
+        "id": "HUx1kHH8eUjE"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 2.1 Charger un modèle pré-entraîné : DistilBERT\n",
+        "\n",
+        "Ici on ne va pas passer par la pipeline, pour pouvoir plus simplement gérer les éléments du modèle : le modèle et le tokenizer associé.\n",
+        "\n",
+        "On utilise ici le modèle DistilBERT, une version plus petite et rapide du modèle transformer BERT. \n",
+        "\n",
+        "Plus d'info ici: https://huggingface.co/distilbert-base-uncased.\n"
+      ],
+      "metadata": {
+        "id": "c40x3RDbB3Qo"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "# Chosing the pre-trained model\n",
+        "# - distilBERT: specific, faster and lighter version of BERT\n",
+        "# - base vs large\n",
+        "# - uncased: ignore upper case\n",
+        "base_model = \"distilbert-base-uncased\""
+      ],
+      "metadata": {
+        "id": "UtdppwkoB3Qp"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 2.2 Tokenizer \n",
+        "\n",
+        "Notez que la librairie HuggingFace définit des *Auto Classes*: elles permettent d'inférer directement l'architecture requise selon le type de modèle spécifié en argument.\n",
+        "* Par exemple ici, le tokenizer est spécifique au modèle DistilBERT, plus précisément il est identique à celui de BERT, et hérite beaucoup de méthodes de la classe *PreTrainedTokenizerFast*.\n",
+        "* On utilise la classe *class transformers.AutoModelForSequenceClassification* pour un modèle d'étiquetage de séquence. \n",
+        "\n",
+        "Le tokenizer est en charge de préparer les données d'entrée, et notamment dans le cas de BERT, de découper les tokens en sous-tokens, mais aussi d'assigner des ids à chaque sous-token, de permettre le mapping dans un sens et dans l'autre...\n",
+        "\n",
+        "- Les *Auto Classes*: https://huggingface.co/docs/transformers/model_doc/auto\n",
+        "- Les Tokenizer dans HuggingFace: https://huggingface.co/docs/transformers/v4.25.1/en/main_classes/tokenizer\n",
+        "- *Bert tokenizer*: https://huggingface.co/docs/transformers/v4.25.1/en/model_doc/bert#transformers.BertTokenizer\n",
+        "- Classe *PreTrainedTokenizerFast*: https://huggingface.co/docs/transformers/v4.25.1/en/main_classes/tokenizer#transformers.PreTrainedTokenizerFast"
+      ],
+      "metadata": {
+        "id": "NUus9JUNB3Qq"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "3fb8f93a-6e6f-4e61-a9f8-aa9fab1670c6",
+        "id": "9XwH5If4B3Qq"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "Some weights of the model checkpoint at distilbert-base-uncased were not used when initializing DistilBertForSequenceClassification: ['vocab_transform.bias', 'vocab_projector.bias', 'vocab_layer_norm.bias', 'vocab_projector.weight', 'vocab_transform.weight', 'vocab_layer_norm.weight']\n",
+            "- This IS expected if you are initializing DistilBertForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
+            "- This IS NOT expected if you are initializing DistilBertForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
+            "Some weights of DistilBertForSequenceClassification were not initialized from the model checkpoint at distilbert-base-uncased and are newly initialized: ['pre_classifier.weight', 'classifier.bias', 'pre_classifier.bias', 'classifier.weight']\n",
+            "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"
+          ]
+        }
+      ],
+      "source": [
+        "# Defining the tokenizer using Auto Classes \n",
+        "tokenizer = AutoTokenizer.from_pretrained(base_model)\n",
+        "model = AutoModelForSequenceClassification.from_pretrained(base_model)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### ▶▶ Exercice: Tester le tokenizer\n",
+        "\n",
+        "**Utiliser le tokenizer pour :**\n",
+        "- encoder une phrase (en anglais) : \n",
+        "- convertir dans l'autre sens : d'une liste d'ids de tokens en texte\n",
+        "  * que se passe-t-il dans le cas de mots longs ? \n",
+        "  * de mots inconnus ? \n",
+        "  * Que répresentent les éléments entre crochets ?\n",
+        "\n",
+        "\n",
+        "Hint: regardez les méthodes 'encode' et 'decode' dans la doc https://huggingface.co/docs/transformers/v4.25.1/en/main_classes/tokenizer (et éventuellement 'convert_ids_to_tokens()')."
+      ],
+      "metadata": {
+        "id": "V8C5djpXB3Qr"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "## --- CORRECTION\n",
+        "\n",
+        "output = tokenizer.encode(\"Hello, y'all! How are you 😁 ? This is hardly understandable!\")\n",
+        "print(output)\n",
+        "print( tokenizer.convert_ids_to_tokens(output) )\n",
+        "print( tokenizer.decode(output) )"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "236b9821-a6d6-4468-aa13-e6eebea4399d",
+        "id": "ay7_ldfTB3Qs"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "[101, 7592, 1010, 1061, 1005, 2035, 999, 2129, 2024, 2017, 100, 1029, 2023, 2003, 6684, 3305, 3085, 999, 102]\n",
+            "['[CLS]', 'hello', ',', 'y', \"'\", 'all', '!', 'how', 'are', 'you', '[UNK]', '?', 'this', 'is', 'hardly', 'understand', '##able', '!', '[SEP]']\n",
+            "[CLS] hello, y'all! how are you [UNK]? this is hardly understandable! [SEP]\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 2.3 Load new data for transfer\n",
+        "\n",
+        "On charge ici l'ensemble de données IMDB qui correspond à de l'analyse de sentiment sur des reviews de films (en anglais). \n",
+        "On va utiliser ces données pour affiner notre modèle pré-entraîné (agnostique) sur la tâche d'analyse de sentiments. "
+      ],
+      "metadata": {
+        "id": "8lt8MjqYIZCl"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 232,
+          "referenced_widgets": [
+            "d03bc5ca5b7544e588501cd35f363c56",
+            "194d05a19eb14a7f966050b4b5349440",
+            "997b829462b2433985a1091ccf68b9b4",
+            "e5b1beb0758d42fca526298a4a81fb6b",
+            "9cfcc16ba77a45038d3dcaef27e34f9a",
+            "90c1da51b4a94fc994c069bb4cb5179c",
+            "d2ec646a77b2494fbc80157722f82948",
+            "9ab3c85ad9ea487b919ceb0bae41a86a",
+            "5bf1d48f85b64a9cba222426f52c20af",
+            "76696050b2384092ad22bb464b52bec6",
+            "dd6ce682a98845e5b10d9f780f1babb7",
+            "bb8c7b49888b489ca1ec799526bf7508",
+            "de7ff51ef87c41d894e1af424ae78828",
+            "f02fe40848b6400c9a430b607b9b94a8",
+            "8af52f3b43064afebbde111652c7fd82",
+            "065871770a9c4dbea7f7acc114b24561",
+            "4be4ff45e240406aa52f02884d47dc70",
+            "4a72d4a90c0e4f44b28e7afcbce5294f",
+            "f54dcc594a7d41c1a4fc472c3997f89d",
+            "2a608fb16a114631ade6aaf955e3e5f7",
+            "371aaf5effbb46b5b0423f347e4cf53c",
+            "39d97cfa841d4f569dcff884f565fd2f",
+            "c90c1fd14779491e81d9db566c718fd1",
+            "be46d8a47d574ba891575b3e6ae3ac6b",
+            "52a59d65ab684795bf18ab611ff77e0e",
+            "fccd6a00da63457d83100c51e0288ad6",
+            "45cd9475b66f4b20a7cfd52cd3f3500e",
+            "7a1989336a6b44db97a822791de2b745",
+            "69ef45c9273344699951491f47dd7b8a",
+            "49ced039effc4042b10f52698351ae54",
+            "f1daa5d41988465ba42481a82eff9b7f",
+            "a4ea87de1a2b4fa8bdcfa67f7b6ee0df",
+            "51f6c6fd3bd841b3976a7307f67fa796",
+            "ed49e86c8ab54c30ad909183530aee8b",
+            "07c207aaecc74309ac2589317075ad19",
+            "f0dfd6e0772f40f296bc57d97b92843b",
+            "7312717db5b54342964f4a68afdfb669",
+            "c6607c54f58a40aab5ff6b183718c6b9",
+            "bf88a467975e4a09b518eeb4e9a4e6e8",
+            "7cc436e1a1b6460e8854e9b30386ac8a",
+            "7263970b0d7b46b682d1dd55077d0ab5",
+            "231c18f4ec3046c18a097a071b686f34",
+            "0e3226a821c94ba7a6d8ac1390057998",
+            "c46d29fa23e944a6b9d88c5fb6c1eab9",
+            "aefaf111ea454f7f8e14bc826f708ca8",
+            "a406c59a05cf4f5fb17f56de827f8c62",
+            "41a88cbcf6544f0c9447b0daab15ea33",
+            "f8dbe293bd444dbcac713cfcde974bb8",
+            "dcfa8cf3b6074c6c80263270c461f8de",
+            "8586079135e049b68e740f4998eb7931",
+            "9b25f3c7fc5e46fba0764c3d1b91819a",
+            "a16e98b9001840a78bc1d69bae0e7864",
+            "9b494af657c2488793135bd969715201",
+            "cfcf25aa877643dfad8764cc3163054d",
+            "087509144a954843836ee37933f63e8f",
+            "f71b9acdb9204fbb8fa435fa6777c582",
+            "5a3cccfe2a7f4338a244f59908c04a48",
+            "409e697590c84910bb6020d8560b530a",
+            "c05a22cd264148718d7f7016a71fee73",
+            "4fceeb55f164455a8fb5e66e60b8de87",
+            "dbc6bbf4ecd048eb8b5c2c644ca065e8",
+            "901b7d38a5214c7aa53b5ef6fcec5f21",
+            "256ae746530d43f9961e956f0addd465",
+            "9c562549c3fd4aa98f2fecbe0f8dee80",
+            "a40beb6372d441dcbc258a1ffbbe6645",
+            "b9be6a7ee5064f2a978237bd0a8e0278",
+            "2b822d0eee19484a8d22154d2b2e4c1f",
+            "f45a2635f5e04bf19011596a13ec70ab",
+            "c84fbe52351f4a0a977348a555bc14d7",
+            "f0ada7e10008418ca6f99e8f8f508de4",
+            "8c8f939312d94b16a2b7935830b7c21c",
+            "d4cf114525774233aa1737563feabb1d",
+            "06825c2cb3884aefae1b140206160a90",
+            "a4bbb500723d4c04ad90df472b38f8f5",
+            "8946e461345344b0a587e1f191555265",
+            "5413477475a14c64bcbdd7c904b3468f",
+            "9487c761e6a74e9a89474ce166996349",
+            "39254a0779204cdeab4f6137f5dc08f1",
+            "1f01f9fb1dd049608955f7b74125df46",
+            "5f9c70ec2fa245c0af65060b0e1e6437",
+            "502b9aea682a4581bf56665bd34e3865",
+            "e73d7be5e93c460db88f6ca51a9f321f",
+            "46d75b448fa74b0e8c788910c96a889a",
+            "80acff6e8a1c47f7a86314cf5c94eda7",
+            "90a8b7517edf4ac8b229b6cba148f5d6",
+            "82855909d7de4efba3003dd17a139331",
+            "c5f8f58d80c64219adc509fbd873ab58",
+            "2ac12528c0414261b47d10059dc9a5e8"
+          ]
+        },
+        "outputId": "7281acd1-19d7-4dcc-ef5a-a6edda51d1ea",
+        "id": "Xndj4mU-Ib8Q"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading builder script:   0%|          | 0.00/4.31k [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "d03bc5ca5b7544e588501cd35f363c56"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading metadata:   0%|          | 0.00/2.17k [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "bb8c7b49888b489ca1ec799526bf7508"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading readme:   0%|          | 0.00/7.59k [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "c90c1fd14779491e81d9db566c718fd1"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Downloading and preparing dataset imdb/plain_text to /root/.cache/huggingface/datasets/imdb/plain_text/1.0.0/2fdd8b9bcadd6e7055e742a706876ba43f19faee861df134affd7a3f60fc38a1...\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading data:   0%|          | 0.00/84.1M [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "ed49e86c8ab54c30ad909183530aee8b"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Generating train split:   0%|          | 0/25000 [00:00<?, ? examples/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "aefaf111ea454f7f8e14bc826f708ca8"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Generating test split:   0%|          | 0/25000 [00:00<?, ? examples/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "f71b9acdb9204fbb8fa435fa6777c582"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Generating unsupervised split:   0%|          | 0/50000 [00:00<?, ? examples/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "2b822d0eee19484a8d22154d2b2e4c1f"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Dataset imdb downloaded and prepared to /root/.cache/huggingface/datasets/imdb/plain_text/1.0.0/2fdd8b9bcadd6e7055e742a706876ba43f19faee861df134affd7a3f60fc38a1. Subsequent calls will reuse this data.\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "  0%|          | 0/3 [00:00<?, ?it/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "39254a0779204cdeab4f6137f5dc08f1"
+            }
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "dataset = load_dataset(\"imdb\")"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "ddb42a2b-a29c-4cd3-ce80-24271adca4c8",
+        "id": "C6LVL237Ib8R"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "DatasetDict({\n",
+              "    train: Dataset({\n",
+              "        features: ['text', 'label'],\n",
+              "        num_rows: 25000\n",
+              "    })\n",
+              "    test: Dataset({\n",
+              "        features: ['text', 'label'],\n",
+              "        num_rows: 25000\n",
+              "    })\n",
+              "    unsupervised: Dataset({\n",
+              "        features: ['text', 'label'],\n",
+              "        num_rows: 50000\n",
+              "    })\n",
+              "})"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 47
+        }
+      ],
+      "source": [
+        "dataset"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 2.4 Tokenization des données\n",
+        "\n",
+        "Le code ci-dessous permet d'obtenir une version tokenisée du corpus."
+      ],
+      "metadata": {
+        "id": "SbjUad2-tecl"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### ▶▶ Exercice Tokenisation :\n",
+        "\n",
+        "Regardez la doc pour vérifier que vous comprenez la fonction des paramètres utilisées : https://huggingface.co/docs/transformers/v4.25.1/en/main_classes/tokenizer#transformers.PreTrainedTokenizer. \n",
+        "\n",
+        "- à quoi sert le padding ? \n",
+        "- à quoi correspond le paramètre 'truncation' ?\n",
+        "\n",
+        "Note: pour plus de détails sur la fonction *Map()* https://huggingface.co/docs/datasets/process et aussi https://huggingface.co/docs/datasets/v2.7.1/en/package_reference/main_classes#datasets.Dataset.map"
+      ],
+      "metadata": {
+        "id": "HY-5WQapfCTV"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### --- CORRECTION\n",
+        "\n",
+        "- *padding (bool, str or PaddingStrategy, optional, defaults to False)* — Activates and controls padding. 'max_length': Pad to a maximum length specified with the argument max_length or to the maximum acceptable input length for the model if that argument is not provided.\n",
+        "- *truncation (bool, str or TruncationStrategy, optional, defaults to False)* — Activates and controls truncation. True or 'longest_first': Truncate to a maximum length specified with the argument max_length or to the maximum acceptable input length for the model if that argument is not provided. This will truncate token by token, removing a token from the longest sequence in the pair if a pair of sequences (or a batch of pairs) is provided."
+      ],
+      "metadata": {
+        "id": "2irkWDLEuSTp"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "-Kj0bW3_50et",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 113,
+          "referenced_widgets": [
+            "d8acb0e0dace410d9b1995440e4a31a0",
+            "4305cb8b9a484f82817a8213a5159293",
+            "efda31d2cca342e69c519abbb7b6293d",
+            "0ff562b22cbc4160bef1ff3d443e1121",
+            "a77a3d00c617482593e7801cd4be0ba9",
+            "2d73df70c12d4b8a99e4f547b575d9ef",
+            "c90524d44fde46358ef4fd8a52500aca",
+            "ac43b71c6a48484ca042f3d57ac6220e",
+            "0260cea216c04e60b95f7a6155f9921f",
+            "42cb934fb20d4eb19736291762c2a016",
+            "88b0ce9ec73d438dae320c9988b5976e",
+            "402c2a8a2ee44dffb3a01eaec20c98c3",
+            "d7527d02529e4016808ceac038658db9",
+            "0b93d82eab7b4198abdcf61642c0163c",
+            "f821c27fa0ce41c1b56f4886d1b9c3a3",
+            "6429bca686c84873b84dc87b48c3ae74",
+            "0cd49ed9515747e8a75d52f5b6639cf8",
+            "36d76008033d465082fcc521872674ab",
+            "3e2470174127483a97855e6292538887",
+            "36e1440bf1c645209717952092df75bb",
+            "717cdc92457e4e2399ea8aac1ac59126",
+            "04ec6007983d4e36b99aaa6cd7ddfd27",
+            "93d4ceef1f944dd1afa2300c6e87b0af",
+            "9b66c3e18812483892d50349a98b676e",
+            "2a5d5adedda94471b04062ca18c12fb4",
+            "5dfbf50aa4dd470d9c1807094563e2bd",
+            "034f96d6b9de4340b5d1d5abde3e530a",
+            "5123fab80f18495eb1187da9ac8ba2a5",
+            "d48dcef075354dca8b45a0223e7850c8",
+            "5d05a5ce506b4dee92d9ed96b954bd2c",
+            "383db47487d24849b5af562e4a2cace6",
+            "5a1094d2e3af415fa9fff810e4c552cd",
+            "157d00c209f4433095ace959efc620f8"
+          ]
+        },
+        "outputId": "7240da5f-4e36-4304-9874-edece98fe6f3"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "  0%|          | 0/25 [00:00<?, ?ba/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "d8acb0e0dace410d9b1995440e4a31a0"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "  0%|          | 0/25 [00:00<?, ?ba/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "402c2a8a2ee44dffb3a01eaec20c98c3"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "  0%|          | 0/50 [00:00<?, ?ba/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "93d4ceef1f944dd1afa2300c6e87b0af"
+            }
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "def tokenize_function(examples):\n",
+        "    return tokenizer(examples[\"text\"], padding=\"max_length\", truncation=True)\n",
+        "\n",
+        "\n",
+        "tokenized_datasets = dataset.map(tokenize_function, batched=True)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "Notez que le tokenizer retourne deux éléments:\n",
+        "\n",
+        "- input_ids: the numbers representing the tokens in the text.\n",
+        "- attention_mask: indicates whether a token should be masked or not.\n",
+        "\n",
+        "Plus d'info sur les datasets: https://huggingface.co/docs/datasets/use_dataset "
+      ],
+      "metadata": {
+        "id": "ATFZVbiYwD34"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "tokenized_datasets"
+      ],
+      "metadata": {
+        "id": "TKTi2eO8d-JJ",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "7c3cc959-4e06-40a9-8563-1194f7274613"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "DatasetDict({\n",
+              "    train: Dataset({\n",
+              "        features: ['text', 'label', 'input_ids', 'attention_mask'],\n",
+              "        num_rows: 25000\n",
+              "    })\n",
+              "    test: Dataset({\n",
+              "        features: ['text', 'label', 'input_ids', 'attention_mask'],\n",
+              "        num_rows: 25000\n",
+              "    })\n",
+              "    unsupervised: Dataset({\n",
+              "        features: ['text', 'label', 'input_ids', 'attention_mask'],\n",
+              "        num_rows: 50000\n",
+              "    })\n",
+              "})"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 49
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "## 2.5 Entraînement / Fine-tuning \n",
+        "\n",
+        "Pour l'entraînement du modèle, on définit d'abord \n",
+        "- une configuration via la classe *TrainingArguments*.\n",
+        "- un niveau de 'verbosité'\n",
+        "- une métrique d'évaluation"
+      ],
+      "metadata": {
+        "id": "HYws35k8xCq0"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "from transformers import TrainingArguments, Trainer\n",
+        "training_args = TrainingArguments(output_dir=\"test_trainer\",\n",
+        "                                  no_cuda=False, # sur ordi perso sans bon GPU\n",
+        "                                  per_device_train_batch_size=4,\n",
+        "                                  #evaluation_strategy=\"steps\",\n",
+        "                                  #eval_steps=100,\n",
+        "                                  num_train_epochs=5,\n",
+        "                                  do_eval=True )"
+      ],
+      "metadata": {
+        "id": "uLVIKxZcgOpb"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "JUtftrdy50ev"
+      },
+      "outputs": [],
+      "source": [
+        "from transformers.utils import logging\n",
+        "\n",
+        "logging.set_verbosity_error()"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "F8O_Jmcx50ew",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 49,
+          "referenced_widgets": [
+            "719427ef24264e4e865c9cb17734ca71",
+            "bd6a5aca026c41e78a6ede48e1a711de",
+            "aec7992f7c2d422a80b4a80124e4ebd1",
+            "0b822ee14a934f048b9f71f6cd978909",
+            "a4b8f74456b9402cb9c30119efc4402c",
+            "85e2273f090144939d1b1bda7110c07c",
+            "3491072932d14859b154215b1f87c32d",
+            "41389be4835045a1b329b510b67e3649",
+            "521066b916a948abb6ba7509b6ec1777",
+            "6e12244785724ac5a6312a3be758b078",
+            "3b9ce6fc6c0a44edb61605251fe5c649"
+          ]
+        },
+        "outputId": "4db60a6b-5ac8-49e4-9afe-50f1b7c49ec5"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading builder script:   0%|          | 0.00/4.20k [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "719427ef24264e4e865c9cb17734ca71"
+            }
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "metric = evaluate.load(\"accuracy\")"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "UZk65ZKH50ew"
+      },
+      "outputs": [],
+      "source": [
+        "def compute_metrics(eval_pred):\n",
+        "    logits, labels = eval_pred\n",
+        "    predictions = np.argmax(logits, axis=-1)\n",
+        "    return metric.compute(predictions=predictions, references=labels)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### Trainer\n",
+        "\n",
+        "Une instance de la classe *Trainer* correspond à une boucle d'entraînement classique, basée sur les éléments définis précédemment. \n",
+        "\n",
+        "https://huggingface.co/docs/transformers/main_classes/trainer"
+      ],
+      "metadata": {
+        "id": "8FEJYEhDxoCp"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "On va sélectionner un sous-ensemble des données ici, pour que l'entraînement soit un peu moins long. "
+      ],
+      "metadata": {
+        "id": "4QUvGEbOvRTH"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "Dgfoqbx950eu"
+      },
+      "outputs": [],
+      "source": [
+        "small_train_dataset = tokenized_datasets[\"train\"].shuffle(seed=42).select(range(1000))\n",
+        "small_eval_dataset = tokenized_datasets[\"test\"].shuffle(seed=42).select(range(100))"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "uX2nBPnk50ew"
+      },
+      "outputs": [],
+      "source": [
+        "trainer = Trainer(\n",
+        "    model=model,\n",
+        "    args=training_args,\n",
+        "    train_dataset=small_train_dataset,\n",
+        "    eval_dataset=small_eval_dataset,\n",
+        "    compute_metrics=compute_metrics,\n",
+        ")"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### Lancer l'entraînement\n",
+        "\n",
+        "Et on peut lancer l'entraînement en utilisant la méthode *train()*."
+      ],
+      "metadata": {
+        "id": "GhGLiCEVx-8v"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "IN58_eaV50ex",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 575
+        },
+        "outputId": "e063e569-4490-4cf1-8426-1aff910bdf70"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "The following columns in the training set don't have a corresponding argument in `DistilBertForSequenceClassification.forward` and have been ignored: text. If text are not expected by `DistilBertForSequenceClassification.forward`,  you can safely ignore this message.\n",
+            "/usr/local/lib/python3.8/dist-packages/transformers/optimization.py:306: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use the PyTorch implementation torch.optim.AdamW instead, or set `no_deprecation_warning=True` to disable this warning\n",
+            "  warnings.warn(\n",
+            "***** Running training *****\n",
+            "  Num examples = 1000\n",
+            "  Num Epochs = 5\n",
+            "  Instantaneous batch size per device = 4\n",
+            "  Total train batch size (w. parallel, distributed & accumulation) = 4\n",
+            "  Gradient Accumulation steps = 1\n",
+            "  Total optimization steps = 1250\n",
+            "  Number of trainable parameters = 66955010\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<IPython.core.display.HTML object>"
+            ],
+            "text/html": [
+              "\n",
+              "    <div>\n",
+              "      \n",
+              "      <progress value='1250' max='1250' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
+              "      [1250/1250 04:33, Epoch 5/5]\n",
+              "    </div>\n",
+              "    <table border=\"1\" class=\"dataframe\">\n",
+              "  <thead>\n",
+              " <tr style=\"text-align: left;\">\n",
+              "      <th>Step</th>\n",
+              "      <th>Training Loss</th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <td>500</td>\n",
+              "      <td>0.401100</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <td>1000</td>\n",
+              "      <td>0.069100</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table><p>"
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "Saving model checkpoint to test_trainer/checkpoint-500\n",
+            "Configuration saved in test_trainer/checkpoint-500/config.json\n",
+            "Model weights saved in test_trainer/checkpoint-500/pytorch_model.bin\n",
+            "Saving model checkpoint to test_trainer/checkpoint-1000\n",
+            "Configuration saved in test_trainer/checkpoint-1000/config.json\n",
+            "Model weights saved in test_trainer/checkpoint-1000/pytorch_model.bin\n",
+            "\n",
+            "\n",
+            "Training completed. Do not forget to share your model on huggingface.co/models =)\n",
+            "\n",
+            "\n"
+          ]
+        },
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "TrainOutput(global_step=1250, training_loss=0.19106702671051026, metrics={'train_runtime': 276.3574, 'train_samples_per_second': 18.093, 'train_steps_per_second': 4.523, 'total_flos': 662336993280000.0, 'train_loss': 0.19106702671051026, 'epoch': 5.0})"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 57
+        }
+      ],
+      "source": [
+        "import os\n",
+        "os.environ[\"WANDB_DISABLED\"] = \"true\"\n",
+        "trainer.train(  )"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### 2.6 Evaluation "
+      ],
+      "metadata": {
+        "id": "MgJpr49WySMd"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### Evaluation sur un exemple\n",
+        "\n",
+        "On teste le modèle sur un exemple de l'ensemble d'évaluation. "
+      ],
+      "metadata": {
+        "id": "2bE7kBlEH4es"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "ex_eval = small_eval_dataset[1][\"text\"]\n",
+        "input = tokenizer(ex_eval, return_tensors=\"pt\")\n",
+        "input_ids = input.input_ids.to(\"cuda\")\n",
+        "print(input_ids.shape)\n",
+        "output = model(input_ids)\n",
+        "\n",
+        "print(\"gold\", small_eval_dataset[1][\"label\"])\n",
+        "\n",
+        "print(output)"
+      ],
+      "metadata": {
+        "id": "uyky-X_bzGpS",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "7b0bead2-1044-4e31-ec01-0a21515c3d72"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "torch.Size([1, 240])\n",
+            "gold 1\n",
+            "SequenceClassifierOutput(loss=None, logits=tensor([[-3.9147,  3.8467]], device='cuda:0', grad_fn=<AddmmBackward0>), hidden_states=None, attentions=None)\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "output[\"logits\"]"
+      ],
+      "metadata": {
+        "id": "JDcpli3k2d_f",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "d3539b9f-a583-4093-ac69-9e1c9d8ad4d3"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "tensor([[-3.9147,  3.8467]], device='cuda:0', grad_fn=<AddmmBackward0>)"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 59
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "pred = np.argmax(output[\"logits\"].cpu().detach().numpy(), axis=-1)\n",
+        "print(\"Pred\", pred)"
+      ],
+      "metadata": {
+        "id": "3DeTwx2oz-Ek",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "609d3e9b-7fdf-4e79-db11-9b10acf321a2"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Pred [1]\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "print(tokenizer.tokenize(ex_eval))"
+      ],
+      "metadata": {
+        "id": "HsgQ6Ekd21IP",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "b5007e93-a07f-4afd-885b-53c1d319c7e4"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "['this', 'is', 'the', 'latest', 'entry', 'in', 'the', 'long', 'series', 'of', 'films', 'with', 'the', 'french', 'agent', ',', 'o', '.', 's', '.', 's', '.', '117', '(', 'the', 'french', 'answer', 'to', 'james', 'bond', ')', '.', 'the', 'series', 'was', 'launched', 'in', 'the', 'early', '1950', \"'\", 's', ',', 'and', 'spawned', 'at', 'least', 'eight', 'films', '(', 'none', 'of', 'which', 'was', 'ever', 'released', 'in', 'the', 'u', '.', 's', '.', ')', '.', \"'\", 'o', '.', 's', '.', 's', '.', '117', ':', 'cairo', ',', 'nest', 'of', 'spies', \"'\", 'is', 'a', 'bree', '##zy', 'little', 'comedy', 'that', 'should', 'not', '.', '.', '.', 'repeat', 'not', ',', 'be', 'taken', 'too', 'seriously', '.', 'our', 'protagonist', 'finds', 'himself', 'in', 'the', 'middle', 'of', 'a', 'spy', 'chase', 'in', 'egypt', '(', 'with', 'mor', '##ro', '##co', 'doing', 'stand', 'in', 'for', 'egypt', ')', 'to', 'find', 'out', 'about', 'a', 'long', 'lost', 'friend', '.', 'what', 'follows', 'is', 'the', 'standard', 'james', 'bond', '/', 'inspector', 'cl', '##ous', '##so', '##u', 'kind', 'of', 'antics', '.', 'although', 'our', 'man', 'is', 'something', 'of', 'an', 'over', '##t', 'x', '##eno', '##ph', '##obe', ',', 'sex', '##ist', ',', 'homo', '##ph', '##obe', ',', 'it', \"'\", 's', 'treated', 'as', 'pure', 'far', '##ce', '(', 'as', 'i', 'said', ',', 'don', \"'\", 't', 'take', 'it', 'too', 'seriously', ')', '.', 'although', 'there', 'is', 'a', 'bit', 'of', 'rough', 'language', '&', 'cartoon', 'violence', ',', 'it', \"'\", 's', 'basically', 'okay', 'for', 'older', 'kids', '(', 'ages', '12', '&', 'up', ')', '.', 'as', 'previously', 'stated', 'in', 'the', 'subject', 'line', ',', 'just', 'sit', 'back', ',', 'pass', 'the', 'popcorn', '&', 'just', 'enjoy', '.']\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### ▶▶ Exercice : Analyse d'erreurs\n",
+        "\n",
+        "Affichez les exemples sur lesquels le modèle a fait une erreur de prédiction. \n",
+        "Pour chaque exemple, affichez le label gold, le label prédit et le texte de l'exemple correspondant.\n",
+        "\n",
+        "\n",
+        "Note: aidez vous de la doc de Trainer https://huggingface.co/docs/transformers/main_classes/trainer#transformers.Trainer\n",
+        "\n"
+      ],
+      "metadata": {
+        "id": "A-cx4sdZGcz2"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "# --- correction\n",
+        "if training_args.do_eval:\n",
+        "        prob_labels,_,_ = trainer.predict( test_dataset=small_eval_dataset)\n",
+        "        pred_labels = [ np.argmax(logits, axis=-1) for logits in prob_labels ]\n",
+        "        #print( pred_labels)\n",
+        "        gold_labels = [ inst[\"label\"] for inst in small_eval_dataset]\n",
+        "\n",
+        "        for i in range( len( small_eval_dataset ) ):\n",
+        "          ## -- Print pred, gold \n",
+        "          #print(pred_labels[i], gold_labels[i])\n",
+        "          if pred_labels[i] != gold_labels[i]:\n",
+        "            print(i, gold_labels[i], pred_labels[i], small_eval_dataset[i][\"text\"] )"
+      ],
+      "metadata": {
+        "id": "L9phpmPnII-O",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 419
+        },
+        "outputId": "fd772fd4-814a-46b2-a327-c8bd29ebe510"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "The following columns in the test set don't have a corresponding argument in `DistilBertForSequenceClassification.forward` and have been ignored: text. If text are not expected by `DistilBertForSequenceClassification.forward`,  you can safely ignore this message.\n",
+            "***** Running Prediction *****\n",
+            "  Num examples = 100\n",
+            "  Batch size = 8\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<IPython.core.display.HTML object>"
+            ],
+            "text/html": []
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "14 1 0 Dirty Harry goes to Atlanta is what Burt called this fantastic, first-rate detective thriller that borrows some of its plot from the venerable Dana Andrews movie \"Laura.\" Not only does Burt Reynolds star in this superb saga but he also helmed it and he doesn't make a single mistake either staging the action or with his casting of characters. Not a bad performance in the movie and Reynolds does an outstanding job of directing it. Henry Silva is truly icy as a hit-man.<br /><br />Detective Tom Sharky (Burt Reynolds) is on a narcotics case in underground Atlanta when everything goes wrong. He winds up chasing a suspect and shooting it out with the gunman on a bus. During the melee, an innocent bystander dies. John Woo's \"The Killer\" replicates this scene. Anyway, the Atlanta Police Department busts Burt down to Vice and he takes orders from a new boss, Frisco (Charles Durning of \"Oh, Brother, Where Art Thou?\") in the basement. Sharky winds up in a real cesspool of crime. Sharky and his fellow detectives Arch (Bernie Casey) and Papa (Brian Keith) set up surveillance on a high-priced call girl Dominoe (Rachel Ward of \"After Dark, My Sweet\")who has a luxurious apartment that she shares with another girl.<br /><br />Dominoe is seeing a local politician Hotchkins (Earl Holliman of \"Police Woman\") on the side who is campaigning for governor but the chief villain, Victor (Vittorio Gassman of \"The Dirty Game\") wants him to end the affair. Hotchkins is reluctant to accommodate Victor, so Victor has cocaine snorting Billy Score (Henry Silva of \"Wipeout\")terminate Dominoe. Billy blasts a hole the size of a twelve inch pizza in the door of Dominoe's apartment and kills her.<br /><br />Sharky has done the unthinkable. During the surveillance, he has grown fond of Dominoe to the point that he becomes hopelessly infatuated with her. Sharky's mission in life now is to bust Victor, but he learns that Victor has an informant inside the Atlanta Police Department. The plot really heats up when Sharky discovers later that Billy shot the wrong girl and that Dominoe is still alive! Sharky takes her into protective custody and things grow even more complicated. He assembles his \"Machine\" of the title to deal with Victor and his hoods.<br /><br />William Fraker's widescreen lensing of the action is immaculate. Unfortunately, this vastly underrated classic is available only as a full-frame film. Fraker definitely contributes to the atmosphere of the picture, especially during the mutilation scene on the boat when the villain's cut off one of Sharky's fingers. This is a rather gruesome scene.<br /><br />Burt never made a movie that surpassed \"Sharky's Machine.\"\n",
+            "21 0 1 Coming from Kiarostami, this art-house visual and sound exposition is a surprise. For a director known for his narratives and keen observation of humans, especially children, this excursion into minimalist cinematography begs for questions: Why did he do it? Was it to keep him busy during a vacation at the shore? <br /><br />\"Five, 5 Long Takes\" consists of, you guessed it, five long takes. They are (the title names are my own and the times approximate): <br /><br />\"Driftwood and waves\". The camera stands nearly still looking at a small piece of driftwood as it gets moved around by small waves splashing on a beach. Ten minutes.<br /><br />\"Watching people on the boardwalk\". The camera stands still looking at the ocean horizon and a boardwalk. People walk across the camera frame, their faces too far and blurry to make them interesting. Eleven minutes.<br /><br />\"Six dogs at the water's edge\". The camera stands still looking at the ocean horizon with a sandy stretch of beach nearby. Far away at the water's edge, six dogs not doing much, just relaxing. Sixteen minutes.<br /><br />\"Ducks in line, gaggle of ducks\". The camera stands still looking at the ocean horizon near the water's edge. Dozen and dozen of ducks stream in single file from left to right. I assume that Kiarostami released them gradually. The last two ducks stop dead on their track and suddenly a gaggle of ducks rolls quietly from right to left. I assume Kiarostami collected the ducks and re-released all at the same time. It is not the first time that he deals with the contrast between organized and disorganized behavior. Eight minutes.<br /><br />\"Frog symphony, oops, I mean cacophony, for a stormy night\". The camera stands over a pond at night. It's pitch black except for what appears to be the reflection of the moon on the undulating water. It is a stormy night and clouds race to cover the moon. The screen goes dark. What remains for us is the cacophony of frogs, howling dogs and, eventually, morning roosters. Hit me on the head if this was done in a single take. I saw this segment as a sound composition put together in the editing room and accompanied by a simple visualization. Twenty seven minutes! <br /><br />Except for the mildly amusing ducks, this exercise in minimalism left me cold. A nonessential film for Kiarostami admirers.<br /><br />I thought I would rate \"Five\" a five, but four is what it deserves.<br /><br />The film is dedicated to Yasujiru Ozu.\n",
+            "30 0 1 Intended as light entertainment, this film is indeed successful as such during its first half, but then succumbs to a rapidly foundering script that drops it down. Harry (Judd Nelson), a \"reformed\" burglar, and Daphne (Gina Gershon), an aspiring actress, are employed as live window mannequins at a department store where one evening they are late in leaving and are locked within, whereupon they witness, from their less than protective glass observation point, an apparent homicide occurring on the street. The ostensible murderer, Miles Raymond (Nick Mancuso), a local sculptor, returns the following day to observe the mannequins since he realizes that they are the only possible witnesses to the prior night's violent event and, when one of the posing pair \"flinches\", the fun begins. Daphne and Harry report their observations at a local police station, but when the detective taking a crime report remembers Harry's criminal background, he becomes cynical. There are a great many ways in which a film can become hackneyed, and this one manages to utilize most of them, including an obligatory slow motion bedroom scene of passion. A low budget affair shot in Vancouver, even police procedural aspects are displayed by rote. The always capable Gershon tries to make something of her role, but Mancuso is incredibly histrionic, bizarrely so, as he attacks his lines with an obvious loose rein. Although the film sags into nonsense, cinematographer Glen MacPherson prefers to not follow suit, as he sets up with camera and lighting some splendidly realised compositions that a viewer may focus upon while ignoring plot holes and witless dialogue. A well-crafted score, appropriately based upon the action, is contributed by Hal Beckett. The mentioned dialogue is initially somewhat fresh and delivered well in a bantering manner by Nelson and Gershon, but in a subsequent context of flawed continuity and logic, predictability takes over. The direction reflects a lack of original ideas or point of view, and post-production flaws set the work back farther than should be expected for a basic thriller.\n",
+            "32 1 0 It's really too bad that nobody knows about this movie. I think if it were just spruced up a little and if it weren't so low-budget, I think one of the major film companies might have wanted to take it. I first saw this movie when I was 11, and I thought it was so powerful with the many great, yet illegal lengths that Mitchell goes to just to keep his family together. It inspired me then and it amazes me now. If you're lucky enough to find a copy of this movie, don't miss it!\n",
+            "34 0 1 \"An astronaut (Michael Emmet) dies while returning from a mission and his body is recovered by the military. The base where the dead astronaut is taken to becomes the scene of a bizarre invasion plan from outer space. Alien embryos inside the dead astronaut resurrect the corpse and begin a terrifying assault on the military staff in the hopes of conquering the world,\" according to the DVD sleeve's synopsis.<br /><br />A Roger Corman \"American International\" production. The man who fell to Earth impregnated, Mr. Emmet (as John Corcoran), does all right. Angela Greene is his pretty conflicted fiancée. And, Ed Nelson (as Dave Randall) is featured as prominently. With a bigger budget, better opening, and a re-write for crisper characterizations, this could have been something approaching classic 1950s science fiction.<br /><br />*** Night of the Blood Beast (1958) Bernard L. Kowalski, Roger Corman ~ Michael Emmet, Angela Greene, Ed Nelson\n",
+            "35 1 0 I recently rented this video after seeing \"Final Ascent\" by the same writer. I wasn't prepared for how intense this film would get. I found it engaging from start to finish, and was rooting for the teenagers to get away with their attempted crime. The ending was definitely disturbing with some of its implied violence, but well-done. I highly recommend this picture.\n",
+            "38 0 1 A very sensitive topic--15 y/o girl abandoned by mother as a baby and who goes to visit her, continues to be ignored, is raped by her mom's boyfriend, becomes pregnant. There was not enough depth displayed of this situation. Too much of time is taken up on the chase with the truckers transporting the baby. (Interesting, this baby with asthma--you never see him cry-- except once--, be fed, have is diaper changed during the whole truck transport ordeal.) I would have liked to have seen more of the interrelationships, more focus on the fact that this girl was a minor--this should have stood up in court immediately.<br /><br />And this was a true story! It deserved a better telling than that!!<br /><br />If it weren't for the subject matter, I would have given this closer to a 0 rating. I rented this from the library. Only later I found out it was a made for TV movie. <br /><br />oh well\n",
+            "39 0 1 This is about some vampires (who can run around out in the sunlight), that are causing some problems down in South America. Casper Van Dien is sent in with his team of commandos to investigate. The movie opens with Van Dien & Co. walking through the jungle, and there's this huge black guy who just absolutely, positively cannot act. He speaks all his lines as if he's reading them off the cue-cards for the very first time. His voice is also so low that, well, it's positively hilarious. Great way to get the movie started! Anyhow, they run into some of our vampires, shoot them (this causes them to appear to die for about 20 seconds), and then of course they come back to life. Van Dien notices that one of them was impaled across a tree limb, and yells to his buddies to kill them with wood. The stunt work must be seen to be believed - the vampires are on wires that pull them up trees, which is supposed to make them look like they can climb really easily, but it just makes them look like they're bouncing around on bungee cords or something.<br /><br />Yeah...anyhow, later on, the huge black dude is down in South America with some guys (Van Dien not included), and they're attacked by more vampires. It's really too bad these guys never heard of a crossbow, because it would seem to be the perfect weapon to kill the little bloodsuckers with, but instead they use big old wooden stakes that they try to impale the vampires with by hand. The big black dude ends up getting captured and he eventually becomes some big powerful vampire leader. Van Dien ends up battling him later on. It doesn't help that all through the movie, everyone forgets that if you shoot a vampire, they are knocked out for 20 seconds or so, which would enable a person to stick a stake in them fairly easily. They just try to stick stakes in them in the middle of hand-to-hand combat. Yeah, not exactly brilliant tactics.<br /><br />There's a hot babe (remember Veronica from The Lost World TV show? Yes, it's her!) who also happens to be walking around in the middle of Vampire County on some sort of research mission, and she also just happens to be Van Dien's ex-wife. Hey, what are the odds? It's a shame she's not in the movie a whole lot more than she is. Will her and Casper get back together in the end? Will Van Dien defeat the huge black dude who can't act? Will the circus performer vampires make you laugh through all the numerous action scenes? Will we hear the three stooges music when somebody does something funny? Has even Lynda Carter forgotten how to act in her small cameo (she's more convincing in her Sleep Number Bed commercials)? These questions and more will will be answered if you make it all the way to the end of the movie.<br /><br />I don't know, it might score some points on the so bad it's good scale, but that's about it. Eh, it's a bunch of goofs running around in the jungle, I guess it's kind of entertaining.\n",
+            "46 1 0 Late night on BBC1, was on my way to bed but curiosity piqued at a contemporary-set Irish film so I stayed to watch for a few minutes and then stayed to the end. I have to admit that the main attraction was the only English actress, Kelly Reilly, who is stunning to look at.<br /><br />This is billed as a black comedy, which is one of the hardest things to pull off. It should be the perfect blend of horror and horrible laughs so that in the end you don't know why you're laughing - for me Martin Scorsese's After Hours (1985) is the best example. Dead Bodies is more black than comedy but the plot rattles along and spirals down towards further blackness. I didn't spot the final twists in the tale as some other posters here did so I was suitably surprised.<br /><br />As a snapshot of the Irish film industry in 2003, it all seems rather worthy; it doesn't look like they spent too much on the making of it so it had a chance to make its money back. The script could've been a whole lot sharper but the acting was on the whole pretty good. I'm glad I watched it, flaws and all, tho I don't think I learnt much about Ireland today, especially their policing methods!\n",
+            "51 1 0 It is to typical of people complaining about something when they no nothing about it...So this is about a gay man falling for a straight women. First of all...This is a true story so you cant say its not believable Second its written by a gay man so the whole thing about this being against the gays are just plain stupid. Personally I think this was the best love story I've ever seen. And I am very pro gay. I think this shows that real love is about personality not just looks and sex. And it has nothing against anyone who is gay, straight or bi unlike so many other shows. Maybe we in Europe take to it more cus most TV here are a bit deeper and make you think more then American TV...Plus we don't fear when it comes to showing certain things.<br /><br />If you want something funny with one of Englands best (Lesley Sharp) and you want to see a decent believable love story without too much sap this is for you. I know I love it\n",
+            "55 1 0 I remember seeing this film in the mid 80's thought it a well paced and well acted piece. I now work quite often in Berkeley Square and the had to get a copy of DVD to remind myself how little the area has changed, although my office is newish it just 30 seconds away from \"the bank\". Even Jack Barclays car dealership is still there selling Bentleys and Rolls Royces.<br /><br />It's look like the DVD is due a Region 2 release soon. The region 1 copy I is very poor quality. Let's hope they've cleaned it up.<br /><br />Only the slightly dodgy escape sequence from the court spoils what would otherwise be a great film but I guess is in line with the caper tag the film goes with.\n",
+            "58 1 0 I'd like to point out these excellent points in favor of this movie:<br /><br />#1 Angelina Jolie sex scene <br /><br />#2 Foley artist outdid themselves <br /><br />#3 plot was quite thick <br /><br />#4 DVD does includes trailers and chapter stops<br /><br />#5 no animals were harmed in the making of the movie <br /><br />#6 homages to blade runner through out the film <br /><br />#7 burning trash cans <br /><br />#8 funny guy with no legs <br /><br />#9 Voice overs by Jack Palance added a real dynamic element to the film. <br /><br />#10 Sage advise, for example \"When you dine with the devil bring a long spoon\". <br /><br />#11 Angelina Jolie was only 18! <br /><br />To sum it up: an evening of entertainment was provided.\n",
+            "59 1 0 Sex, drugs, racism and of course you ABC's. What more could you want in a kid's show!<br /><br />------------------------------------------- -------------------------------------------<br /><br />\"User Comment Guidelines <br /><br />Please note there is a 1,000 word limit on comments. The recommended length is 200 to 500 words. The minimum length for comments is 10 lines of text. Comments which are too short or have been padded with junk text will be discarded. You may only post a single comment per title. <br /><br />What to include: Your comments should focus on the title's content and context. The best reviews include not only whether you liked or disliked a movie or TV-series, but also why. Feel free to mention other titles you consider similar and how this one rates in comparison to them. Comments that are not specific to the title will not be posted on our site. Please write in English only and note that we do not support HTML mark-up within the comments\"\n",
+            "74 0 1 I saw this movie, and I do like horror movies.<br /><br />I did not know what to expect, but as soon the movie was on his way it was nice to watch it. The idea was pretty original and the acting was nice. Especially Jenna Dewan as the exciting/evil Tamara.<br /><br />The hardest thing about horror movies, is to make a good ending. But there the movie failed. For a change, a end-scene in a hospital, where suddenly all employees are gone. First you see doctors and nurses running around, but then they all went home?<br /><br />No cries for help while being chased by Tamara, Escaping to the roof (also a smart move...not) and off course a kind of open ending.<br /><br />No....the movie started great, the main part was nice to watch, but they really messed up the ending using all clichés from bad horror movies. Jeffrey Reddick failed in my eyes with this movie, after making some really quality movies like Final Destination 1 and 2.<br /><br />If you like a good horror full of cliché endings, Tamara is a good movie to watch. For me, I like movies which surprise me.\n",
+            "75 0 1 A truly masterful piece of filmmaking. It managed to put me to sleep and to boggle my mind. So boring that it induces sleep and yet so ludicrous that it made me wonder how stuff like this gets made. Avoid at all costs. That is, unless you like taking invisible cranial punishment, in which case I highly recommend it.\n",
+            "82 0 1 It has a bit of that indie queer edge that was hip in the 90s and which places an explicit sell-by date on the visual style. Characters are uniformly apathetic and farcically deadpan. Street hoodlums in Greece wear new clothing out of the box without creases or stains. They all appear to visit the same marine hair dresser. All uniformly exhibit the same low IQ when making their dispassionate underground business deals. When things go wrong its all because they aren't real Greeks - they're pastoral sunshine boys caught in a strange night city world. Makes a big whine about disaffected immigrants but never bothers to actually investigate the problems with Russian/Kazakh/Albanian cultures. If Giannaris had the proper perspective on this project it might have made a wonderful Bel Ami production. The fleeting glimpses of toned boy-beef is the only spark in this generic small-time mobster programmer.\n",
+            "94 0 1 Clearly this film was made for a newer generation that may or may not have had an inkling of Charles Bukowski's work. The autobiographical Henry Chinaski character in Bukowski's stories was brilliantly portrayed to perfection by Mickey Rourke in 1987's 'Barfly', also starring Faye Dunaway. Anyone who has seen 'Factotum' should certainly see 'Barfly' to get a better look at how Bukowski wrote his character. 'Factotum' lacks the greasy seediness of Bukowski's screenplay and the fearless hopelessness of his loner hero. The inadvertent humor that bubbles through in the dark desperation of Chinaski's misadventures doesn't work for Dillon as it did so admirably for the overweight filthy blood-soaked Rourke. Rourke's character makes the pain and pleasure of the previous night's misbehavior a place-setting for yet another grueling ugly day in the life of a drunken misanthropic unknown writer. Dillon's character misses these marks in favor of a strutting, handsome, relatively clean-looking wanna-be writer that scarcely passes for any moment in that of Chinaski's story. Dunaway's sleazy heroine Wanda is the perfect complement to the ne'er-do-well Henry. The women in 'Factotum' can't hold a candle to Dunaway's 'distressed goddess' and the use of more profane sexual subject matter in 'Factotum' proves to be more of a crude distraction than a tip of the hat to Bukowski's raw and unapologetic portrayals of dysfunctional relationships. I was stunned at how many of the exact same scenes were used in 'Factotum' (Marisa Tomei buying all the stuff and charging it to the old man is an exact rip-off from 'Barfly').<br /><br />If you want to see the best Bukowski stories on film, see 'Barfly' and 'Love is a Dog From Hell' (which also goes by the title 'Crazy Love').\n",
+            "98 1 0 There are few films that deal with things that I would consider myself an expert on, this one is.<br /><br />After some years of Fantasy Role Playing we split, me not leaving without a sense of shame of what I had become: a dork.<br /><br />You see, these things are really canonical, it happens to everybody.<br /><br />First you create a character fairly and it dies after the first attack.<br /><br />Then you help a little with the constitution, and while you're at it, why not help with strength, intelligence, intuition, charisma and dexterity too? This in turn frustrates the game master who doesn't know how to deal with this invincible gang. And after a while it bores the players too, so they start to create ever more exotic race-profession combinations, no matter how ludicrous it is.<br /><br />I created a Druedain warrior monk, yeah, not that far from the film.<br /><br />And that's not all to be said about the destructiveness of the inherent dynamic of this devilish game (think the hunt for experience points), but just watch the film, it shows it all - and of course the stupidity of its most basic premisses.<br /><br />For this end, in turn, there is no better profession than the bard. I don't exactly understand why the bard became a character in the first place, after all, the blacksmith is none. But once it became one, it had to be mapped into the game flow, that is: it had to be made lethal, at least indirectly. The poking of fun out of this never comes to an end and rightfully so.<br /><br />Sure, it's not exactly a professional production, but I haven't seen a better satire in ages.\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "On affiche finalement le score du modèle sur l'ensemble d'évaluation."
+      ],
+      "metadata": {
+        "id": "VaBD1-jaoR3w"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "if training_args.do_eval:\n",
+        "        metrics = trainer.evaluate(eval_dataset=small_eval_dataset)\n",
+        "        print(metrics)"
+      ],
+      "metadata": {
+        "id": "3IdSk-1XHiVK",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 144
+        },
+        "outputId": "6d822aad-3e3c-4127-981b-5deaaa9db1fe"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "The following columns in the evaluation set don't have a corresponding argument in `DistilBertForSequenceClassification.forward` and have been ignored: text. If text are not expected by `DistilBertForSequenceClassification.forward`,  you can safely ignore this message.\n",
+            "***** Running Evaluation *****\n",
+            "  Num examples = 100\n",
+            "  Batch size = 8\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<IPython.core.display.HTML object>"
+            ],
+            "text/html": [
+              "\n",
+              "    <div>\n",
+              "      \n",
+              "      <progress value='13' max='13' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
+              "      [13/13 00:01]\n",
+              "    </div>\n",
+              "    "
+            ]
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "{'eval_loss': 1.0450938940048218, 'eval_accuracy': 0.82, 'eval_runtime': 1.7213, 'eval_samples_per_second': 58.094, 'eval_steps_per_second': 7.552, 'epoch': 5.0}\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "kj5C4zon50ey"
+      },
+      "source": [
+        "# Part 4 - Interprétabilité\n",
+        "\n",
+        "Dans cette partie nous allons tester une méthode \"d'attribution\" qui observe certains valeurs du modèle pour repérer les parties importantes de l'input dans la décision du modèle. \n",
+        "\n",
+        "Nous utiliserons le package *transformers_interpret*, qui est une surcouche de la librairie plus générale *captum*.\n",
+        "\n",
+        "- Captum library: https://captum.ai/"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "rKUWY_xh50ey"
+      },
+      "source": [
+        "## 3.1 Classification de phrases: sentiment"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "L_90kDt150ey"
+      },
+      "outputs": [],
+      "source": [
+        "# pour utiliser un modèle existant répertorié sur huggingface.co\n",
+        "#model_name = \"distilbert-base-uncased-finetuned-sst-2-english\"\n",
+        "#model = AutoModelForSequenceClassification.from_pretrained(model_name)\n",
+        "#tokenizer = AutoTokenizer.from_pretrained(model_name)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### ▶▶ Exercice : Afficher les attributions pour un exemple correctement prédit\n",
+        "\n",
+        "Utiliser le *cls_explainer* défini ci-dessous pour afficher les attributions pour chaque mot pour : \n",
+        "- un exemple correctement prédit (récupérer un exemple à partir de son indice à partir de l'exercice précédent)\n",
+        "- un exemple correspondant à une erreur du modèle\n",
+        "Utilisez eégalement la fonction de visualisation des attributions.\n",
+        "\n",
+        "Aidez-vous de l'exemple sur cette page : https://pypi.org/project/transformers-interpret/"
+      ],
+      "metadata": {
+        "id": "xUh2_lqxho0n"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "6EbVZpow50ez"
+      },
+      "outputs": [],
+      "source": [
+        "cls_explainer = SequenceClassificationExplainer(\n",
+        "    model,\n",
+        "    tokenizer)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### --- CORRECTION"
+      ],
+      "metadata": {
+        "id": "2UHYc10giO8p"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "# récupérer un exemple / le texte correctement  predit\n",
+        "ex_positif = small_eval_dataset[1][\"text\"]\n",
+        "ex_positif"
+      ],
+      "metadata": {
+        "id": "hRnH27AOiFp1",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 122
+        },
+        "outputId": "c390117b-3890-4903-d5a5-f73996d0ca0d"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "\"This is the latest entry in the long series of films with the French agent, O.S.S. 117 (the French answer to James Bond). The series was launched in the early 1950's, and spawned at least eight films (none of which was ever released in the U.S.). 'O.S.S.117:Cairo,Nest Of Spies' is a breezy little comedy that should not...repeat NOT, be taken too seriously. Our protagonist finds himself in the middle of a spy chase in Egypt (with Morroco doing stand in for Egypt) to find out about a long lost friend. What follows is the standard James Bond/Inspector Cloussou kind of antics. Although our man is something of an overt xenophobe,sexist,homophobe, it's treated as pure farce (as I said, don't take it too seriously). Although there is a bit of rough language & cartoon violence, it's basically okay for older kids (ages 12 & up). As previously stated in the subject line, just sit back,pass the popcorn & just enjoy.\""
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 66
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "# Recuperer les attributions\n",
+        "# word_attributions =  ...\n",
+        "word_attributions = cls_explainer(ex_positif)"
+      ],
+      "metadata": {
+        "id": "E-lWGvF45gcJ"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "GxCWlucU50ez",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "d58c33c8-f909-4863-eaa7-40467376a740"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[('[CLS]', 0.0),\n",
+              " ('this', 0.20517517071337907),\n",
+              " ('is', 0.15455378068610745),\n",
+              " ('the', 0.19900871750030721),\n",
+              " ('latest', 0.3366573041710291),\n",
+              " ('entry', -3.0430739728537e-05),\n",
+              " ('in', 0.20046279975787426),\n",
+              " ('the', 0.026597689028839126),\n",
+              " ('long', 0.026163223707621353),\n",
+              " ('series', 0.07150501994247042),\n",
+              " ('of', 0.0780180014355186),\n",
+              " ('films', 0.20501904447208733),\n",
+              " ('with', 0.11556731966026416),\n",
+              " ('the', 0.019136669294628622),\n",
+              " ('french', 0.04268935902578294),\n",
+              " ('agent', -0.054447245992982674),\n",
+              " (',', -0.005626558003399687),\n",
+              " ('o', -0.006354876705030943),\n",
+              " ('.', -0.00728125105053229),\n",
+              " ('s', -0.0002717810007659201),\n",
+              " ('.', -0.011840460111455623),\n",
+              " ('s', 0.006431523960080555),\n",
+              " ('.', -0.011183504728923991),\n",
+              " ('117', -0.007285102741813965),\n",
+              " ('(', 0.016222911259960806),\n",
+              " ('the', 0.0010398634623660242),\n",
+              " ('french', 0.02412273054388603),\n",
+              " ('answer', -0.028053418323231962),\n",
+              " ('to', -0.00957503886775167),\n",
+              " ('james', 0.025269479495623498),\n",
+              " ('bond', 0.024788810454628694),\n",
+              " (')', -0.0008628805427748803),\n",
+              " ('.', 0.04555059897877993),\n",
+              " ('the', 0.09849460349147024),\n",
+              " ('series', 0.19990084441073705),\n",
+              " ('was', 0.0514882182751402),\n",
+              " ('launched', 0.07910934435483746),\n",
+              " ('in', 0.002743801703972822),\n",
+              " ('the', 0.0073511159697738585),\n",
+              " ('early', 0.04388838772344011),\n",
+              " ('1950', 0.02050528460971008),\n",
+              " (\"'\", 0.007138088032772846),\n",
+              " ('s', 0.011695970119565555),\n",
+              " (',', 0.003118395895068747),\n",
+              " ('and', -0.01923876898650255),\n",
+              " ('spawned', 0.008455196356814564),\n",
+              " ('at', -0.0035511962103572086),\n",
+              " ('least', -0.021502452548397832),\n",
+              " ('eight', 0.01136916405406635),\n",
+              " ('films', 0.00788259705619071),\n",
+              " ('(', 0.024198888076400443),\n",
+              " ('none', -0.07667196059010561),\n",
+              " ('of', -0.012581518653187282),\n",
+              " ('which', 0.04563923522413989),\n",
+              " ('was', -0.015810118508327035),\n",
+              " ('ever', 0.022701521912728066),\n",
+              " ('released', -0.032333862575171145),\n",
+              " ('in', 0.011488173882428336),\n",
+              " ('the', -0.003054137874196151),\n",
+              " ('u', 0.005120924155788185),\n",
+              " ('.', -0.006431911853093424),\n",
+              " ('s', 0.025981484534430253),\n",
+              " ('.', 0.019762970878860933),\n",
+              " (')', -0.06410911583114043),\n",
+              " ('.', -0.06303383063218321),\n",
+              " (\"'\", 0.020626200362187014),\n",
+              " ('o', -0.011695861252083897),\n",
+              " ('.', -0.016209853317218005),\n",
+              " ('s', -0.007420806986924734),\n",
+              " ('.', -0.01867108160382139),\n",
+              " ('s', 0.007240363225386805),\n",
+              " ('.', -0.03148658410992953),\n",
+              " ('117', -0.0023046324525392552),\n",
+              " (':', 0.012950918430652995),\n",
+              " ('cairo', 0.024443411639709284),\n",
+              " (',', -0.019198321592985804),\n",
+              " ('nest', 0.0052395978341908825),\n",
+              " ('of', 0.015941601392346245),\n",
+              " ('spies', -0.018448238046558506),\n",
+              " (\"'\", 0.02049390423951859),\n",
+              " ('is', 0.08503154782409228),\n",
+              " ('a', 0.09972055084115641),\n",
+              " ('bree', 0.12096905860919142),\n",
+              " ('##zy', 0.00405234702664788),\n",
+              " ('little', -0.2404712903915025),\n",
+              " ('comedy', 0.06722859357394388),\n",
+              " ('that', 0.042023428558161276),\n",
+              " ('should', -0.03841322972677788),\n",
+              " ('not', -0.0971025297641167),\n",
+              " ('.', -0.015920923930960305),\n",
+              " ('.', -0.04757489882975944),\n",
+              " ('.', -0.008702975404328385),\n",
+              " ('repeat', -0.01762468500104525),\n",
+              " ('not', 0.3643128113338133),\n",
+              " (',', -0.17973917692319516),\n",
+              " ('be', 0.07980739133297704),\n",
+              " ('taken', -0.07599649272887034),\n",
+              " ('too', 0.13619282126887894),\n",
+              " ('seriously', -0.39726603694829),\n",
+              " ('.', -0.09398486336547972),\n",
+              " ('our', 0.05021999551133155),\n",
+              " ('protagonist', 0.03167802222304211),\n",
+              " ('finds', 0.03476162343966558),\n",
+              " ('himself', 0.022492960380242344),\n",
+              " ('in', 0.028407486808694222),\n",
+              " ('the', 0.00031149337999287325),\n",
+              " ('middle', -0.03503143198540526),\n",
+              " ('of', -0.00681473667685525),\n",
+              " ('a', -0.03044904099854505),\n",
+              " ('spy', -0.012576971059115424),\n",
+              " ('chase', -0.005908029801864778),\n",
+              " ('in', 0.02639854835176857),\n",
+              " ('egypt', 0.047077840145123465),\n",
+              " ('(', 0.028306237974307227),\n",
+              " ('with', 0.008848143666300599),\n",
+              " ('mor', -0.01126809522694494),\n",
+              " ('##ro', -0.0040311627613528744),\n",
+              " ('##co', -0.012409441332721307),\n",
+              " ('doing', -0.02105805945061),\n",
+              " ('stand', -0.005228896187908729),\n",
+              " ('in', 0.0028844702430211987),\n",
+              " ('for', -0.021441300086457088),\n",
+              " ('egypt', 0.022155482065977235),\n",
+              " (')', 0.017518307872877177),\n",
+              " ('to', 0.01340108106955897),\n",
+              " ('find', -0.03578835115115607),\n",
+              " ('out', -0.02178522050768061),\n",
+              " ('about', -0.010211020067822709),\n",
+              " ('a', 0.01802308041702857),\n",
+              " ('long', 0.0337028051479534),\n",
+              " ('lost', -0.012388058220547934),\n",
+              " ('friend', 0.023188607584112012),\n",
+              " ('.', 0.0014637943076012826),\n",
+              " ('what', 0.02373720524590148),\n",
+              " ('follows', 0.017077344028438357),\n",
+              " ('is', 0.00826820259244703),\n",
+              " ('the', 0.010193159429255165),\n",
+              " ('standard', -0.0003360678418286561),\n",
+              " ('james', 0.023095067586397098),\n",
+              " ('bond', 0.020638902164248286),\n",
+              " ('/', -0.019570361793231697),\n",
+              " ('inspector', -0.008945644761565388),\n",
+              " ('cl', -0.01586295805372584),\n",
+              " ('##ous', -0.006498335622919694),\n",
+              " ('##so', -0.01326696807802776),\n",
+              " ('##u', 0.009266228357261205),\n",
+              " ('kind', 0.0030394012283389564),\n",
+              " ('of', 0.005622533423550698),\n",
+              " ('antics', -0.002257517973184224),\n",
+              " ('.', 0.012848057804009945),\n",
+              " ('although', 0.03773719235648376),\n",
+              " ('our', 0.02788814550569141),\n",
+              " ('man', 0.04771952359002729),\n",
+              " ('is', -0.0017621817088807558),\n",
+              " ('something', -0.039006879407966315),\n",
+              " ('of', 0.013681468161640542),\n",
+              " ('an', -0.060220976743375315),\n",
+              " ('over', -0.17824151502930502),\n",
+              " ('##t', -0.05467421622278216),\n",
+              " ('x', 0.024629436314687902),\n",
+              " ('##eno', 0.0024834251074681924),\n",
+              " ('##ph', -0.015700299429428317),\n",
+              " ('##obe', 0.01165478831907894),\n",
+              " (',', -0.001662352742080238),\n",
+              " ('sex', -0.0522806869213034),\n",
+              " ('##ist', -0.01583154407396009),\n",
+              " (',', -0.00784909581992444),\n",
+              " ('homo', -0.00944001216990643),\n",
+              " ('##ph', -0.0030211914217940197),\n",
+              " ('##obe', 0.008060252310113942),\n",
+              " (',', 0.03248475298575954),\n",
+              " ('it', 0.04872931628827997),\n",
+              " (\"'\", 0.009631533604042137),\n",
+              " ('s', 0.010606834564684357),\n",
+              " ('treated', -0.0322775232412682),\n",
+              " ('as', -0.01260847478815131),\n",
+              " ('pure', 0.0019006804389338449),\n",
+              " ('far', 0.004539390102297089),\n",
+              " ('##ce', -0.010406865962048685),\n",
+              " ('(', 0.014375105244946718),\n",
+              " ('as', 0.002471897093636322),\n",
+              " ('i', 0.0030352435248743857),\n",
+              " ('said', -0.018146271346741155),\n",
+              " (',', 0.0036709041547055288),\n",
+              " ('don', -0.007912125005239464),\n",
+              " (\"'\", 0.0017484483737803301),\n",
+              " ('t', -0.017950648561760478),\n",
+              " ('take', -0.009298274952007132),\n",
+              " ('it', -0.004078118282522069),\n",
+              " ('too', -0.028684218288752596),\n",
+              " ('seriously', -0.035017499197497325),\n",
+              " (')', 0.01317581586995519),\n",
+              " ('.', -0.006128150330240606),\n",
+              " ('although', 0.026128978608609854),\n",
+              " ('there', 0.04767921232067106),\n",
+              " ('is', 0.020516082384872122),\n",
+              " ('a', 0.012734012650614903),\n",
+              " ('bit', -0.002681135351543046),\n",
+              " ('of', -0.017564338870653444),\n",
+              " ('rough', -0.054269157411809384),\n",
+              " ('language', -0.021932843435277412),\n",
+              " ('&', -0.019720541628726326),\n",
+              " ('cartoon', 0.004586365987880467),\n",
+              " ('violence', -0.03763776160073711),\n",
+              " (',', -0.0035707094512391056),\n",
+              " ('it', 0.006928695922224605),\n",
+              " (\"'\", 0.012925683334380988),\n",
+              " ('s', 0.030974539799360278),\n",
+              " ('basically', -0.004179917353656252),\n",
+              " ('okay', -0.013112687370773883),\n",
+              " ('for', 0.009083589361922877),\n",
+              " ('older', -0.0010335777357816382),\n",
+              " ('kids', -0.0061997972649331665),\n",
+              " ('(', 0.01573855661621565),\n",
+              " ('ages', 0.013134153275415764),\n",
+              " ('12', -0.008209209253622462),\n",
+              " ('&', -0.008435223587703135),\n",
+              " ('up', 0.004763652002272039),\n",
+              " (')', -0.0031712580515071698),\n",
+              " ('.', -0.0031336770770415256),\n",
+              " ('as', 0.012398935284743534),\n",
+              " ('previously', -0.006902501714326512),\n",
+              " ('stated', -0.041746908926223535),\n",
+              " ('in', 0.0053001792756676375),\n",
+              " ('the', -0.010857700759730709),\n",
+              " ('subject', -0.011023442052436976),\n",
+              " ('line', 0.03691275362364711),\n",
+              " (',', 0.0028617755130526837),\n",
+              " ('just', 0.0018012460067089997),\n",
+              " ('sit', 0.006858113990518719),\n",
+              " ('back', 0.02098000283345308),\n",
+              " (',', 0.034918394241824614),\n",
+              " ('pass', -0.0032936950327704414),\n",
+              " ('the', -0.009826644376627376),\n",
+              " ('popcorn', -0.0033325220553297977),\n",
+              " ('&', -0.013402200592284419),\n",
+              " ('just', 0.019853417800983347),\n",
+              " ('enjoy', 0.08264586096236433),\n",
+              " ('.', -0.02676851056646209),\n",
+              " ('[SEP]', 0.0)]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 69
+        }
+      ],
+      "source": [
+        "# Afficher les attributions\n",
+        "word_attributions"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "QC80GMPn50ez",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        },
+        "outputId": "71201bdd-4905-4b18-8b7b-3a2879aea68a"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'LABEL_1'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 68
+        }
+      ],
+      "source": [
+        "cls_explainer.predicted_class_name"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### Visualisation\n",
+        "\n",
+        "Le code ci-après vous permet de visualiser les attributions pour un exemple."
+      ],
+      "metadata": {
+        "id": "LLYt2uH7pUuX"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "0mmp7RCi50e0"
+      },
+      "outputs": [],
+      "source": [
+        "table = pds.DataFrame(word_attributions,columns=[\"tokens\",\"score\"])"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "GP_QnEAf50e0",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 1000
+        },
+        "outputId": "afd9c0e6-92b7-424a-c5c9-dcfe186cd58a"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "<matplotlib.axes._subplots.AxesSubplot at 0x7f5fa0adc580>"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 71
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 1500x1500 with 1 Axes>"
+            ],
+            "image/png": "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TeOZZ54hKSmJZs2aMWzYMP7+97/z5ptvMnz4cH766SeeeOIJDh8+THBwMBcvXqRdu3YkJiZSrVo1HnvsMezs7EocPzc3l8zMzCKXiIiIiIiIiIhIWVJm4m0ym81Uq1YNo9GIu7t7qfs9++yzXLlyhfvvv5/NmzfTsWNH3nrrLQICAujWrRupqals2bKFtm3bkpubi8lk4rHHHqNZs2bY2NjQoUMHWrduXeL4KsAiIiIiIiIiIiLlTcHEu6RVq1b06dOHRx99lOzsbAC++eYb3n//fZKSkpgwYQJbtmwhNTUVs9lMv379GDVqFMuXL2fixIl06dLlluOHhYUVqSZ9owCLiIiIiJQfbTkUERGRykbbnO8SOzs7HBwccHNzw2AwAGA0Gq3vbzwrLCwE4Mknn+SHH37gscceY9u2bfj4+LB27doSxzeZTDg7Oxe5REREREREREREypIyE/+gDRs2sGvXLusW5KSkJH766SfWr19PSEiItd2cOXNIT08nJCSEpKQkABYuXAj8XyDxty5cuGDNVqxTpw4PPPAA0dHR9O/fv9h15Obmkpuba73XmYkiIiIi5U8FWOReUmasiIjcC8pM/IO6dOlCQUEBqampAOzYsQMbGxtOnDhRpJ2vr+9NfYcPH06LFi1ISUlh9erVRd6FhITg6+vLpk2b8PPzY9euXXh7e5e4joiICMxms/XSFmcRERERERERESlrCib+QWazGScnJ37++WcA4uLicHZ25uzZs2RlZXH27FkAWrRoAUB+fj7169cHwNHREVtbW9zd3alRo0aRcb28vFi2bBm9evVi9+7dWCwWevToUeI6wsLCyMjIsF5nzpwpj88VEREREREREZFKTNuc70BISEiRLczBwcEcO3YMi8VCfHw833zzDU8++SS7du3ilVdeoWrVqowZM4aYmBhrn7S0NKKioqz3/v7+WCwW6/2UKVMYPHiw9d5sNpOenl7imkwmEyaTqYy+UERERERKQ9tMRUREpLJRZmIZ8Pf3Z9euXRw8eBA7OzuaNWuGv78/cXFxZGRkUKdOndse087Orsi9wWCwFmcRERERERERERG5F5SZWAa6dOnC5cuXmTNnDt26dQOuBxiDg4O5cOECKSkp1iIrDg4OAOzfv5/FixeTkpJCp06diI6OpmnTptYxExISmDp1KocPH6Z27drk5ORQUFBQ4hpUgEVERETk7rubBViUBSkiIiIVgTIT/5fFYuH555+nRo0aGAwGa8Xl0qhevTqtWrVi5cqV+Pv7A9C1a1cyMjIAGDx4MCkpKURFRWFjc/0nnzRpEiNHjqRKlSrk5OQwfPhwcnNzrVuh586dy7hx4zh8+DALFy4kLy+P9evXl7gGFWAREREREREREZHypszE/7V582ZiYmKIi4ujQYMG3HfffbfVv1u3biQlJVmDiTVq1MDHx4cjR45Qu3Zt3N3dMZvN1vYzZszgoYce4siRI2zevJns7Gw++eQT6/bmgQMHMmLECAAaNGiAg4MDcXFxJY7ebyYAACAASURBVM4fFhZGaGio9T4zM1MBRREREZFypmxBERERqWyUmfi/Tp48iYeHB506dcLd3R1b26Jx1ry8vFv2j4qKwmKx0KxZM+uzpKQkOnbsaL0PCgpiw4YNALRq1QqTycSqVauIj48HICAgALh+PuKqVatwcnKyXoWFhWRkZHDlypVi5zeZTDg7Oxe5REREREREREREypIyE7ke5Fu2bBlwPZDn5eWFt7c3vr6+2NrasmLFClq2bMn27ds5dOgQ48ePJz4+nqpVq9KrVy/mzJljzWT09/enVatWVKlShSVLlpCVlUVOTs5Nc44fP55NmzYVKdByo8CKxWLhqaeeYvv27aSkpNCuXTtmzpyJm5sbVapUuUu/ioiIiIiIiIiISFEKJnL9fMKGDRuyaNEiEhMTMRqNDB48mGXLljF69Gh2794NQHp6Og8//DCjRo1izpw5XL16lQkTJjBkyBC2bdtmHW/ZsmWEhoaSkJBA//79SUhIYOvWrfTs2dMaMExISGDFihU0bNiQDRs2MG7cOGt/g8HApk2b+OKLL7CxseHpp59m/vz5rFy5ssRvUAEWERERkbvvbhZgude0pVtERERA25wBMJvNVKtWDaPRiLu7O66urgA0btyYWbNm0bRpU5o2bcoHH3xAmzZteOedd2jWrBlt2rRh6dKlbN++nWPHjlnHa9WqFW+//TaNGzemU6dOVK1alTVr1nDhwgX27dsHwPLly+nZsycNGjSga9euRdZjsVhITU3lq6++wmQyMWjQIL766ivefPPNEr9BBVhERERERERERKS8KTPxFtq1a1fk/uDBg2zfvh0nJ6eb2p48eZImTZoA14OJN7z22musWrWKxYsXs2DBAgYPHgxAo0aNSpzX0dGRNWvWMHXqVGbOnMnVq1cB8PLyKrGPCrCIiIiI3H3K1hMREZHKRsHEW6hatWqR+6ysLPr27cvMmTNvauvh4WH9+0ZFZoAmTZrQtWtXXFxciImJYd68eSQkJODi4mJt4+fnh8ViKdI/ICCgSEEWgODg4BLXajKZMJlMt/mFIiIiIiIiIiIipadg4i0kJyfz0EMPcejQIYxGI9WrV8diseDt7Y2trS179uxhzJgx/Oc//8HX15c333yTHTt2WAuqABw6dIhvvvmGS5cusWnTJlq3bs3PP//MsWPHaNKkyU0FWwoKCoqcfejt7W39+0ZxmOTk5Lv4K4iIiIiIiIiIiFynYOIt5OfnExoaSqtWrcjKyuL1119n27ZtPPnkk4wdO5b+/fvTrl07AgMDee6553j11VeL9L9RsMXFxYVOnToxefJkJkyYgLOzMwMHDuQf//gHV69eZcmSJQwYMICEhARmzZrFkiVLrAVbEhMTcXNzAyAlJQWj0VjsWlWARURERMpCZSooUha0zVlEREQqGxVguYVGjRoxYMAAGjVqhJ+fH//85z8pKCggPT2dxx57jIyMDM6ePYu3tzePPfYY48ePL9L/RsEWHx8fzGaztWBLeno6TZo0YejQoezbtw+DwcDQoUNp3LgxnTt3xmg0EhsbC2AtBgMUKQ7z31SARUREREREREREypvB8tvD+qSI48ePM3nyZBISErhw4QKFhYVkZ2fz1VdfsXXrVg4ePMi2bdus7b/77jtat27NgQMH8PPzY/DgwXzxxRfY29sXGTc7O5uNGzcSGBiIv78/LVq0YP78+db3jz/+ODVr1mTp0qXA9e3Na9eupV+/fiWutbjMRE9PTzIyMnB2di6rn0RERERERERERP5kMjMzMZvNZRIn0jbnW+jbty9eXl4sXryY2rVrU1hYiK+vL3l5eaXqfycFW+B68LCwsPC21qoCLCIiIiIiIiIiUt4UTCzBxYsXOXr0KIsXL6ZLly4A7Nq1y/q+adOmrFixgtzcXGsQLzExscgYbdu2ZfXq1daCLXfKzs6OgoKCO+4vIiIiInfm986Q1JmJIiIiUtnozMQSVK9enZo1a7Jo0SJOnDjBtm3bCA0Ntb4fNmwYhYWFPP/88xw5coQtW7bw3nvvAdczCwHGjh3LpUuXGDp0KImJiZw8eZItW7bw7LPP3lZw0Nvbm9jYWM6dO0daWlqxbXJzc8nMzCxyiYiIiIiIiIiIlCUFE0tgY2PDZ599xv79+/H19eWVV15h9uzZ1vfOzs6sX7+epKQk/Pz8mDRpEpMnTwagSpUqANSuXZvdu3dTUFBAr169aNmyJSEhIbi4uGBjU/qfPjIykq1bt+Lp6UmbNm2KbaMCLCIiIiIiIiIiUt5UgKUMrVy5kmeffZaMjAwcHBzu6twqwCIiIiIiIiIiIsVRAZYK4pNPPqFBgwbUqVOHgwcPMmHCBIYMGXLXA4mgAiwiIiIiIiIiIlL+FEz8A86dO8fkyZM5d+4cHh4eDB48mBkzZpTJ2Lm5uYwfP57PPvuMzMxM2rdvz5w5c+jQoUOJ7f87M1FERERE7tzvFV8BFWARERGRykdnJv4Br7/+OsnJyeTk5HDq1CnmzJmDo6NjmY29evVqli1bxrfffkujRo0ICAjg0qVLxbbXmYkiIiIiIiIiIlLeFEysgLKzs/noo4+YPXs2gYGB+Pj40KVLF9LS0vj444+L7RMWFkZGRob1OnPmzF1etYiIiIiIiIiI/NVpm3MFdPLkSa5du0bnzp2tz06fPk3NmjU5cuRIsX10ZqKIiIhI2dIWZhEREZGbKTPxT2LTpk34+vre62WIiIiIiIiIiEglpszECqhhw4bY29uze/duvLy8ANi9ezf169enT58+xfZRARYRERGRslOa4iug7EURERGpfJSZWAFVrVqV0aNHM378eDZv3szhw4cJDg7mypUrPPfcc8X2UQEWEREREREREREpb8pMrKDeffddCgsLGT58OJcvX6Z9+/Zs2bKF6tWrF9s+LCyM0NBQ631mZqYCiiIiIiIiIiIiUqYMFovFcq8XIWUvMzMTs9lMRkYGzs7O93o5IiIiIiIiIiJyj5RlnEjbnCu4VatW0bJlSxwcHKhZsyY9evQgOzv7Xi9LREREREREREQqIW1zrsBSUlIYOnQos2bNon///ly+fJn4+HiKSyZVARYRERERERERESlvCiZWYCkpKeTn5zNgwADWr1/P2rVriY2NLbZtREQE4eHhd3mFIiIiIiIiIiJSmejMxAqsoKCAgIAA9u7dS926dUlNTeX48ePFFmEpLjPR09NTZyaKiIiIiIiIiFRyOjOxkjAajWzdupVNmzYxePBgateuTdOmTTl16tRNbU0mE87OzkUuERERERERERGRsqRgYgVnMBjo3Lkz4eHhHDhwAHt7e9auXXuvlyUiIiIiIiIiIpWQzkyswBISEoiNjaVXr164ubmRkJDA+fPnad68+U1tVYBFRERE5PZ5T/zqD/VPfvexMlqJiIiIyJ+DgokVmLOzMzt37iQqKorMzEy8vLyIjIwkMDDwprYqwCIiIiIiIiIiIuVNBVj+IlSARUREREREREREilOWBViUmfgXYTKZMJlM93oZIiIiIiIiIiLyF6YCLBXcqlWraNmyJQ4ODtSsWZMePXqQnZ19r5clIiIiIiIiIiKVkDITK7CUlBSGDh3KrFmzyMzMZOPGjQwYMIDidqarAIuIiIjI3VeaAi4q0iIiIiJ/JcpMrMBSUlLIz8+3BhB//fVXxowZg5OT001tIyIiMJvN1svT0/MerFhERERERERERP7KVIClAisoKCAgIIC9e/cSEBBAr169GDRoENWrV7+prQqwiIiIiIiIiIhIccqyAIsyEyswo9HI1q1b2bRpEz4+PsybN4+mTZty6tSpm9qaTCacnZ2LXCIiIiIiIiIiImVJmYl/IgUFBXh5eREaGkpoaOgt25ZlxFlERETkr6o0Zx7eis5DFBERkT+DsowTqQBLBZaQkEBsbCy9evXCzc2NhIQEzp8/T/PmzW9qqwIsIiIiIiIiIiJS3hRMrMCcnZ3ZuXMnUVFRZGZm4uXlRWRkJIGBgTe1jYiIIDw8/B6sUkREREREREREKgttcy5jO3fuZPbs2ezfv5+UlBTWrl1Lv379rO/XrFnDggUL2L9/P5cuXeLAgQP4+flZ3ycnJ1O/fv1ix/7Xv/7F4MGDi32nAiwiIiIiIiIiIlIcFWCpwLKzs2ndujXz588v8f1DDz3EzJkzi33v6elJSkpKkSs8PBwnJ6diMxJvUAEWEREREREREREpb9rmXMYCAwNvGfQbPnw4cD0DsThGoxF3d/ciz9auXcuQIUNwcnIqcVydmSgiIiJSdkpbmEUFWERERKSyUWZiBbd//36SkpIwm8088sgjJbaLiIjAbDZbL09Pz7u4ShERERERERERqQwUTKzgPv74Y5o3b46trS1xcXElZjSGhYWRkZFhvc6cOXN3FyoiIiIiIiIiIn952uZcgV29epV//vOfvPXWW5w9e5aRI0fi7e1dbFuTyYTJZLq7CxQRERH5i9L2ZREREZHiKZhYga1atYorV64waNAgWrVqxZYtW+71kkREREREREREpBJTMLEC+/jjj/nb3/5GYmIiJpOJBx98sMS2KsAiIiIicveVtlDLnVB2pIiIiFREOjOxjGVlZZGUlERSUhIAp06dIikpidOnTwPw5ZdfYjAY2Lt3LwBHjx4lKSmJc+fOFRnnxIkT7Ny5k1GjRhEfH0+7du1uOa8KsIiIiIiIiIiISHkzWCwWy71exF9JXFwc3bt3v+n5iBEjiImJYeLEicycOfOm92+//TZTpkyx3r/xxhusWLGC5ORkBgwYQM2aNfn4449LnLe4zERPT08yMjJwdnb+Yx8lIiIiIiIiIiJ/WpmZmZjN5jKJEymYWM78/f3x8/MjKioK+L9gY1paGi4uLqUaIyAggEaNGjF//vxSz1uW/5OIiIiIiIiIiMifV1nGibTNuRwFBQWxY8cO5s6di8FgwGAwkJycDMD+/ftp3749jo6OdOrUiaNHjxbp+8UXX9C2bVuqVKnC7t272blzJ/n5+ffgK0RERERERERERK5TMLEczZ07l44dOxIcHExKSgopKSnWswwnTZpEZGQk+/btw9bWlpEjR1r7xcfH88wzzzBu3DgOHz7MsGHDOHr0KDNmzChxrtzcXDIzM4tcIiIiIlK+yrMAi4iIiEhFpGDi/7JYLDz//PPUqFEDg8FgLaDyR5jNZuzt7XF0dMTd3R13d3eMRiMAM2bMoFu3bvj4+DBx4kT27NlDTk4OMTExdO/enYkTJzJixAgaNGjASy+9RGFhIR999FGJc6kAi4iIiIiIiIiIlDcFE//X5s2biYmJYcOGDaSkpODr61uu87Vq1cr6t4eHBwCpqakAFBYWMnXqVJycnHBycqJjx44UFhby66+/cuXKlWLHCwsLIyMjw3qdOXOmXNcvIiIiIpD87mP3egkiIiIid5XtvV5ARXHy5Ek8PDzo1KlTse/z8vKwt7cvs/ns7OysfxsMBuB6EBGuZ0mGh4czYMAAa5vt27czc+bMEtdgMpkwmUxltj4REREREREREZH/pmAi1wulLFu2DLge2PPy8sLb2xtfX19sbW1ZsWIFLVu2ZPv27Rw6dIjx48cTHx9P1apV6dWrF3PmzOG+++4DrldvbtWqFVWqVGHJkiVkZ2cXm00YEhLCpk2byMjIoE6dOkXeGY1GYmNjiY6O5syZMzz00ENER0eTnZ1d5NxFERERERERERGRu0nBRK4XSmnYsCGLFi0iMTERo9HI4MGDWbZsGaNHj2b37t0ApKen8/DDDzNq1CjmzJnD1atXmTBhAkOGDGHbtm3W8ZYtW0ZoaCgJCQkEBwezY8cOli9fTmBgoLUic0JCAitWrKBhw4Zs2LCBcePGFVnT1q1bCQ4OpkePHkycOJFBgwbRvXv3EgOJubm55ObmWu9VgEVERESk/FWEAizaai0iIiJ3k4KJXC+UUq1aNYxGI+7u7tbnjRs3ZtasWdb76dOn06ZNG9555x3rs6VLl+Lp6cmxY8do0qQJcP08xLfffhuARYsW0bZtW0aOHEl+fj6vvvoqAMuXL6d9+/YAdO3atch6CgoKWLp0KUuWLGH58uVYLBZOnz5NUFBQid8QERFBeHj4H/shREREREREREREbkHBxFto165dkfuDBw+yfft2nJycbmp78uTJIsHEG5o0acIjjzxCzZo1Wbp0KbNmzaJevXrWQCKAn58fFovFeu/o6Mizzz7Ls88+C8DatWsZOHAgwcHBJa41LCyM0NBQ631mZqa2Q4uIiIiUM2UFioiISGWjYOItVK1atch9VlYWffv2ZebMmTe1vVGRGYoWV4Hr5zDeKK7i4ODwu/MW1/9GsLGgoACDwYCNTdFC3CrAIiIiIiIiIiIi5a1SBhM3b97M9OnTOXToEEajkY4dO+Ln5wdAcnIy9evXp0WLFqxatYpFixbRuHFjFixYQNu2bVm9ejUGg4GQkBB27dpFXl4e3t7ezJ49m0cffZT9+/dTUFBgnatfv358+eWXDB06FAB3d3dOnz7N1q1b6dmzJ7m5uUyaNIlPP/2U9PR0atWqZT1XESAmJoaxY8cC4OPjw7Fjxzhx4gTe3t537wcTERERuYcqwrmEJVFmooiIiFQ2Nr/f5K8nOzub0NBQ9u3bR2xsLDY2NixdurRImx9//JF27dqRlJREkyZNGDp0KH//+9+5dOkSDz30EKmpqaxcuZL58+fj4eFhzTh0cXHh559/BsBisRAfH4+dnR2pqakA5OXlYW9vT2hoKFu3bmXEiBFs3LiRV155he+++44OHTqQnZ3N8ePHrWu5UVhlyZIl/PDDD7i5ud30Tbm5uWRmZha5REREREREREREylKlzEwcOHBgkfulS5fi6upK7dq1rc88PT2pX78+TZo0ITw8nBYtWnDlyhV2795N+/bt+e677xg0aBBeXl707t0bf39/4How8dixYxQUFHDo0CHs7e2pW7cu586dAyAuLo6+ffvi7OzME088QVpaGs2aNaN58+Y0bNiQwMBA1qxZQ3R0tLXQy41Mx06dOpX4TSrAIiIiIiIiIiIi5a1SBhOPHz/O5MmTSUhI4MKFC9bzDBcvXmxts2LFCjp06AD833mIqampdO3alcjISEaPHs39999Pjx49GDhwIAaDAYD4+Hhq1qzJgQMH2LNnD926dePJJ5/k3XffBWDHjh2MHz+e4OBgBg4cSJ8+fTh27Bj9+/fH3t7eOv/Jkyetf9vb25OTk3PLb1IBFhEREfmr0lZiERERkYqjUm5z7tu3L5cuXWLx4sUkJCSQkJAAXN+CfMNvi6DcCBTeCDqOGjWKH3/8keHDh/P999/Tvn175s2bB1zPTGzdujVxcXHs2LEDf39/unbtyoEDBzh27BjHjx+nW7duwPWCLkajkXbt2jFs2DCSkpJISkriyJEjzJ071zq/g4ODdQ0lMZlMODs7F7lERERERERERETKUqXLTLx48SJHjx5l8eLFdOnSBYBdu3bd9jienp688MILvPDCC4SFhbF48WJeeuklALp168b27dvZu3cvM2bMoEaNGjRv3pwZM2bg4eFBkyZNAGjTpg0FBQUkJiaSmJjIsmXLADh16hRHjx7lb3/7G99++y2FhYVMnDiR6dOnY2tb/H+y3Nxc69mKgM5MFBEREblNd1LoRVmTIiIiUtlUuszE6tWrU7NmTRYtWsSJEyfYtm1bke3BpRESEsKWLVs4deoU3377Ldu3b6d58+bW9/7+/mzZsgVbW1uaNWtmfbZy5UprViJAkyZNGDJkCCaTiR49epCQkMDGjRtZuHAhAQEBdOjQgWnTpuHg4MDHH3/M9OnTS1xTREQEZrPZemmLs4iIiIiIiIiIlLVKF0y0sbHhs88+Y//+/fj6+vLKK68we/bsm9q98sorJY5RUFDA2LFjad68Ob1796ZJkyZ8+OGH1vddunShsLCwSODQ39+fgoICa6GWG1asWIG7uzt79+7loYce4rnnnmPNmjV4eHjwwQcf4OHhgZ2dHeHh4URGRlq3Wv+3sLAwMjIyrNeZM2du85cRERERERERERG5NYPFYrHc60VUNBkZGVgsFlxcXO7KfP7+/vj5+REVFQXAgAEDMJvNREdHW9scPHgQPz8/fvrpJ+rVq/e7Y2ZmZmI2m8nIyND5iSIiIiIiIiIilVhZxokq3ZmJpWE2m+/1EkRERERERERERCocBROLERQURHp6OuvWrWPz5s1Mnz6dQ4cOYTQa6dixI3PnzqVhw4YAJCcnU79+fT7//HPmzZvHvn378PX1ZeXKlWRkZDB69Gj+85//0KVLFz755BNcXV2t8yxZsoTIyEiOHj3KwYMHadKkCWPGjKF58+asWrWKsWPHsmbNGtLS0nB0dMRkMlG3bt1i16wCLCIiIiJ3350UbSkvKgYjIiIid0OlOzPxdmVnZxMaGsq+ffuoX78+hw8fpn///jedXfj222/z5ptv8u2332Jra8uwYcN4/fXXmTt3LvHx8Zw4cYLJkydb269cuZLJkyczY8YMnnjiCe677z7eeOMNPvjgA8aMGcOpU6f45JNPmD17Nm3btuXy5cs89thj2NgU/59MBVhERERERERERKS86czEYvw2M/G3/P39adq0KYsWLeL777/H19fXmpm4ZMkSnnvuOQA+++wzhg4dSmxsLA8//DAA7777LjExMfznP/8BoFGjRkybNo2hQ4dy7NgxRowYwf79+7l27RqnTp3i1VdfZevWreTm5mI0GqlTpw5HjhzB1rb4ZNLiMhM9PT11ZqKIiIiIiIiISCWnMxPvouPHjzN58mQSEhI4ffo0e/bsAeD06dP4+vpa27Vq1cr6d61atQBo2bJlkWepqanA9WzHkydP8txzzxEcHGxtY2Njg5ubG97e3kyaNIm4uDjc3d0xGo1Ur169xEAigMlkwmQylc1Hi4iIiIiIiIiIFEPbnH9H3759uXTpEosXL6ZNmzYMHDgQgEGDBnHfffcRGRkJgJ2dHWlpaTzzzDP07dsXgKFDh3L8+HEADAYDOTk5uLi4sH79egAKCwtp06YNX3/9NUlJSRw6dIjdu3cTGhrKww8/jMVioVmzZuTn55OYmMigQYPuwS8gIiIiIiIiIiJynTITb+HixYscPXqUxYsX06VLF6pWrcoXX3wBwOzZs3FxcWHUqFHW9kFBQRw/fpx33nmHcePGYbFYePTRRzl8+LC1zZUrV/j4449xdXVl4MCB7Nixg/nz57Ny5UoAZs2aRUxMDEuXLqV58+ZERkYSFxdHhw4dWL16NZcuXaJGjRo3rVUFWERERETuvopSgEXFV0RERORuUWbiLVSvXp2aNWuyaNEiTpw4QVpaGjeOmKxTpw5PPfUUQUFBAPz00098+eWXLFmyxLrlefHixZw9e7bI2YvXrl1jwYIFvPPOOyxbtowWLVqwZcsWvv/+e6Kjo5k+fTphYWEkJyeTlJRESEgIjo6OnD17Fnd3d1xcXIpdqwqwiIiIiIiIiIhIeVNm4i3Y2Njw2Wef8fLLL+Pr64utrS3du3dn06ZN1jZt2rQB4Mcff8TW1pYHHniA+Pj4/8/enYdVWe3//39uQBkFnEFFcEAEBXHIjqKCOWCpl0NmOSTm0GB+lciJj8aBUnHIRK1zNDtqOWRqqeeUYxaomJgaOOCESXoMxZRBRLay4feHP/eJAI92wPH1uK77utj7Xmvd6971R9e7tdYLgCpVquDl5cWxY8eoW7cuAHZ2djRo0IAGDRpgZ2fHlClTuHz5MoGBgXh7e3P16lWefvppTpw4waxZszh16hS5ubnY2dmxa9euUtOcw8PDCQsLM3++HcAiIiIiIuVHKwJFRETkSaNiYgmMRiMODg4AdO7c2bxNOSgoCBcXF34fgF2zZk2srKyoX7+++bugoCD+GJJ9ewVjaGio+buBAwdiZ2dHnz59uHLlCllZWeaVhyNHjjSHs3Tq1Ildu3YVecYfKYBFRERERERERETKm7Y5/05+fj7Jycn88MMPNGnSpMQ2CQkJRT7v3bsXT09PfHx8yM/PL3L/9pmLPj4+d/V8JycnXF1di4yRn5/PqVOnsLe3Z8WKFX/irURERERERERERMqGiom/c+TIEVq1akWTJk14/fXXS2xz9uxZwsLCOHHiBJ9//jkLFixg7NixeHp60qtXL0aOHMnu3btJSkpi8ODB1K5dm169et31HMaOHcuMGTPYsGEDx48fZ9SoUWRmZuLi4sLq1atL7Wc0GsnOzi5yiYiIiEj5eVjCV0RERETuJ21z/h1/f39yc3Pv2GbIkCFcv36d1q1bY2lpydixY3n11VcBWLp0KWPHjqVHjx7cuHGDDh06sGnTJipUqHDXc3j77bdJS0sjJCQECwsLhg0bRp8+fTh16hT79u3DaDSWuJ05OjqaqKioe3thERERERERERGRe2Ao/OPhfvJQOnToEM2aNSM1NRV3d/di941GI0aj0fz5dgBLVlYWjo6O93OqIiIiIiIiIiLyEMnOzsbJyalM6kRamfiIsLW1BSh15aQCWEREREREREREpLypmPiIuHLlCgDVq1d/wDMRERERkdue5HMTU2d0f9BTEBERkQdAxcRHxJEjR6hTpw7VqlUr8X5J25xFRERERERERETKktKc77PY2FgMBgOZmZn31G/Xrl107dq11PvR0dE4OTmZLzc3t/91qiIiIiIiIiIiIkUogKWcBQUF4e/vT0xMDHCrmNixY0cyMjJwdna+qzHy8vJwcXFhy5Yt/OUvfymxjQJYRERERERERESkJApgecIsXbqU1q1bl1pIBAWwiIiIiIiIiIhI+VMxsRwNHTqUuLg44uLimDdvHnCrMAhw4MABJk6cSHJyMv7+/ixduhQvLy9z340bNxIVFUVycjKVKlXipZdeIj8/Hyurkv+R6cxEERERkfvvSQ5gkbujoBoREXnc6MzEcjRv3jzatGnDyJEjSUtLCJm7UwAAIABJREFUIy0tzXyW4eTJk5kzZw779+/HysqKYcOGmfvt2rWLIUOGMHbsWJKTk1m1ahWrVq2iUaNGpT5LZyaKiIiIiIiIiEh5UzGxHDk5OVGxYkXs7OzYsmULjRs3xtLSEoBp06YRGBiIj48PkyZNYs+ePeTl5QEQFRXFpEmTCAkJoX79+nTp0oXAwEDOnj1b6rPCw8PJysoyX+fOnbsv7ygiIiIiIiIiIk8ObXO+T1588UWee+45kpOTAfDz8zPfc3V1BSA9PZ26deuSlJREfHw806ZNM7cxmUyYTCZyc3Oxs7MrNr7OTBQRERG5/7SFVURERJ40KibeBwUFBdja2mJra2suJlaoUMF832AwmNsB5OTkEBUVRd++fYuNZWNjcx9mLCIiIiIiIiIiUpyKiaVYt24dUVFRpKSkYGdnR/Pmzdm4cSP29vZ88sknzJkzhzNnzuDh4cGYMWMYNWoUAKmpqdSrV4/Vq1fzt7/9jV27dmFlZcWyZcsIDQ1lw4YN5mfcDlk5cuQIADExMbz//vu0aNGC48ePs2LFCpYsWcLFixepWrUq/fr1Y/78+SXOVwEsIiIiIvefAlhEpCxptbOIPApUTCxBWloaAwYMYNasWfTp04erV6+ya9cuCgsLWblyJREREXz44Yc0b96cn376iZEjR2Jvb09ISIh5jEmTJjFnzhxq1arF8ePH+e233ygoKDCvPtyzZw9Dhgxh/vz5VK1alZ49e7Ju3ToqV65MREQE3bt3x8rKipiYGDw9Pfnhhx/44YcfSp1zdHQ0UVFR5f7biIiIiIiIiIjIk8tQWFhY+KAn8bA5ePAgLVu2JDU1FXd39yL3GjZsyHvvvceAAQPM302dOpVNmzaxZ88e88rEmJgYxo4dy8mTJwkJCeHgwYPcuHGDpUuX8sorr9ChQwe6detGeHg4iYmJNG/enA8++IDZs2fz66+/8uqrr7J8+XIMBgMVKlSgcePGjBgxgpEjR5Y455JWJrq5uZGVlYWjo2P5/FAiIiIiTzitTBSRsqSViSJSXrKzs3FyciqTOpGKiSUwmUwEBwezb98+goOD6dq1K/369aNixYo4ODhga2uLhcV/grDz8/NxcnLi4sWL5mLi7t27CQgIMLe5vc05MzMTgOrVq5OTk2NOd7793Ly8PK5du8bly5cJCAigsLCQbt268dxzz9GzZ0+srO5uMWlZ/ksiIiIiIiIiIiKPrrKsE1n89yZPHktLS7Zv387mzZvx8fFhwYIFeHl5mc82XLx4MYmJiebryJEj7N27l6+//tqc0mxvb09iYiIGg4FJkyaZxx4xYgSDBw8mJycHLy8v7O3tyc/Pp1atWkyfPp1Tp05hY2ODm5sb0dHRWFhYsHTpUp5//nmqVatmLkaKiIiIiIiIiIjcbzozsRQGg4GAgAACAgKIiIjA3d2d+Ph4atWqxc8//8ygQYOK9alSpQo5OTnmz3FxcVSrVo3Y2FgaN25s/m7ixImcOHECg8HA1q1bcXR05JtvvuGtt94iICCAhg0bkpaWxtChQ83nNh46dIhevXpx5MgR2rVrV+zZCmARERERuf+0zbl02q4pIiLyeHqki4lBQUH4+/sTExNTpuMmJCSwY8cOunbtSo0aNUhISODSpUt4e3sTFRXFmDFjcHJyolu3bhiNRvbv309GRgZ9+/bl97vGY2Njeeutt4iKiiIvL4/CwkJSUlIIDAzEzc2NHj16sHHjRvr160fnzp3x8/NjzJgx7N27l0WLFpGfn0+TJk0oKChgyJAhVKhQAW9v7xLnrAAWEREREREREREpb490MbG8ODo6snPnTmJiYsjOzsbd3Z05c+bw7LPPAmBnZ8fs2bMZP3489vb2+Pr6EhoaWmSMwsJCdu3aRXR0NGvWrOHUqVPm7cyenp7Ur1/fnBgdGRlp7teyZUsA/Pz8cHR0JDg42HyuYkhICFWrVi1xzuHh4YSFhZk/3w5gEREREZHyo9V3IiIi8qRRMbEE3t7ebNmypdT7AwcOZODAgcW+T01NBcDBwaFICnNQUBAVKlRg8ODBXL16FYDZs2ezadMmFi1ahK+vL/b29oSGhpoDVvr27UufPn3Ys2cP27ZtMxclp0yZQr169Yo929raGmtr6zJ4exERERERERERkZI9NgEsy5cvp1WrVlSqVAkXFxcGDhxIenq6+f6yZctwdnYu0mfDhg0YDAbz58jISPz9/Vm+fDkeHh44OTnx0ksvmQuAAAUFBcyaNYuGDRtibW1N3bp1mTZtWpFxc3Nz6datG5cuXaJZs2a4uLgQGxtLbGwsQUFB7N69m1mzZpGZmUl4eDj/+Mc/qFmzJidPngQgPT2dnj17Ymdnx+DBg2nUqBGurq5YWlqyfv368vj5RERERERERERE/qvHZmXizZs3ee+99/Dy8iI9PZ2wsDCGDh3Kpk2b7mmc06dPs2HDBr7++msyMjLo378/M2bMMBcMw8PDWbx4MXPnzqVdu3akpaVx/PjxImNUqFCBS5cuERERwZEjR/joo4+4ePEiN2/epF69enTr1o1WrVpx8uRJpkyZwrx589iyZQsXL17Ex8eHoUOHcurUKUJCQggICGDu3LlcuHABk8lU6pmJCmARERERuf8UwPJo0vZ0ERGRP++xKSYOGzbM/Hf9+vWZP38+Tz31FDk5OTg4ONz1OAUFBSxbtoxKlSoB8PLLL7Njxw6mTZvG1atXmTdvHh9++CEhISEANGjQoFi6cvv27fn222958cUXeeGFF2jSpAmNGzcmMzOTL774gkGDBhEdHc2wYcMYN24cFSpUICMjAy8vL3JyctixYwdffPEFS5Ys4auvviIrK4sbN27Qt29f87mNf6QAFhERERERERERKW+PTTHxwIEDREZGkpSUREZGBgUFBQCcPXsWHx+fux7Hw8PDXEgEcHV1NW+XPnbsGEajkU6dOt1xjOnTp7N9+3YAMjIyAFi0aBEdOnTgqaee4tChQ6xcudLc/vaKwhUrVnD+/Hni4uLo168f/fv3N7epXLky7du3L/WZCmARERERuf+0wk1ERESeNI9FMfHatWsEBwcTHBzMypUrqV69OmfPniU4OJgbN24AYGFhQWFhYZF+N2/eLDZWhQoVinw2GAzmwqStre1dzef3Y9w+k/H2GDk5Obz22muMGTOmWL+6dety/vz5u3rGHymARUREREREREREyttjUUw8fvw4ly9fZsaMGebVePv37y/Spnr16ly9epVr165hb28PQGJi4j09x9PTE1tbW3bs2MGIESP+1FxbtGhBcnIyDRs2LPJ9UFAQ/v7+vPHGG+Tn5zN69Gjy8vJYu3YtDg4OZGZm/qnniYiIiIiIiIiIlJXHIs25bt26VKxYkQULFvDzzz/zz3/+k/fee69Im6effho7Ozv+7//+j9OnT7Nq1SqWLVt2T8+xsbFh4sSJTJgwgc8++4zTp0+zd+9e/vGPf9z1GBMnTmTPnj2MHj2axMRETp06xcaNGzl16hQAXl5e2NjY8PHHH1O1alWWL1+OjY0NQJF06j8yGo1kZ2cXuURERESkfHlM+qbIJSIiIvK4eyyKidWrV2fZsmWsXbsWHx8fZsyYwfvvv1+kTZUqVVixYgWbNm3C19eXzz//nMjIyHt+1jvvvMPbb79NREQE3t7evPjii3cs8v3RlStXuH79OsnJybRv357mzZsTERFBxYoVzW2qVauGi4sLCxYsYOzYsURFRWFhYWEuOJYkOjoaJycn86XzEkVEREREREREpKwZCv94kKCUqdvbl2NiYgCIjY2lY8eOZGRk4OzsXGI7Dw8P3nzzTcaPH2++36xZM55//nkiIiJKfI7RaDQHucB/AliysrJwdHQsp7cTEREREREREZGHXXZ2Nk5OTmVSJ3oszkx8HN0pCKYkCmAREREREREREZHypmJiORo6dChxcXHExcUxb948AJYuXQrAgQMHmDhxIsnJyfj7+5Ofn1+k7+HDh81hLbVq1SI3N/eOxUQRERERuf/u9pzE1Bndy3kmIiIiIvfHY3Fm4sNq3rx5tGnThpEjR5KWlkZaWpr5LMPJkyczZ84c9u/fj5WVFSdOnDD3MxqNrFy5krFjx5KcnMyiRYu4cuUKO3fuLPVZCmAREREREREREZHypmJiOXJycqJixYrY2dnh4uKCi4sLlpaWAEybNo3AwEB8fHyYNGkS2dnZHDhwAIDMzEw6d+5MSEgI9evXp0uXLri6uprvl0QBLCIiIiIiIiIiUt60zfkB8fPzM//t6uoKwDPPPAOAg4MDO3bswMHBwdzGZDKRl5dHbm4udnZ2xcYLDw8nLCzM/Pl2AIuIiIiIlB9tXxYREZEnjYqJD8jtgJUbN25gMBgAuB2snZOTQ1RUFH379i3Wz8bGpsTxFMAiIiIiIiIiIiLlTcXEe1RQUMDMmTP5+OOPuXDhAo0aNeKdd96hX79+mEwmXn31Vb777jsuXLhA3bp1MRgMmEwmc/8ZM2YA8P7777NkyRKsra1Zv359kWc4OjqyYMECJkyYYP7u5s2b1K5dm+joaIYPH15sXkajEaPRaP6sMxNFREREyt/dBrA8TrQaU0RE5MmmYuI9io6OZsWKFSxcuBBPT0927tzJ4MGDqV69Om3btqVOnTqsXbuWqlWrsmfPHkJCQsjPzyc1NRUHBwfz6sOUlBS2b98O3CoU/t6kSZMICwtj3LhxvPLKK1hYWPDJJ5+QmZnJiy++WOq8oqKiyvflRURERERERETkiWYovF3dkv/KaDRSpUoVvv32W9q0aWP+fsSIEeTm5rJq1apifQYPHszmzZu5fv06169fJyAggPj4eC5evEiNGjUASExMpHnz5rzzzju8++67ALi7u2MwGEhPT6dChQpYWFjg4+NDfHx8qXP748pENzc3srKycHR0LMufQURERET+f1qZKCIiIo+C7OxsnJycyqROpJWJ92D16tXk5uYSEBBAYWEhNjY2WFpacuPGDZo3b87Fixfp1asXBw4cID8/H0tLSywsLPD392ffvn0AuLi4AFCzZk3zuK+99hru7u5UqVIFgLNnz2Jvb8/x48epVq0a/fr1Y/HixeYt0iXRmYkiIiIi958KayIiIvKksXjQE3iUXLlyBcC8evCDDz4gMTGR5ORk1q5dS7t27fjxxx8JCwvjq6++ol+/flhbW5OXl1dkHHd3d9LS0szXrFmzzPdMJhPdu3enevXqWFlZMWnSJD799FMqVapE+/bt79/LioiIiIiIiIiI/IFWJt6DESNGEB4ejru7OwCurq40bNgQgJMnT5KSksLTTz/NzJkzAejVqxc2NjZkZGQUGcfS0tK8QvGPtm3bRnJyMr/++itjxozh+PHjODs7c/nyZW7cuEHFihVL7KcAFhEREZH7735vc9ZKSBEREXnQVEy8B5UqVWLcuHG89dZbAKSlpXHw4EHi4+PJysoC4OjRo2zdupV69eqxfPly8vPzuXbtWpFx/v3vf1OtWjVcXFzo2bMn77zzjvneDz/8gK+vLzVr1mTEiBH06NEDk8mEyWTi6NGjNG/evMS5KYBFRERERERERETKmwJY7lFhYSHz588nNDQUKysrKleuTIsWLZgwYQJDhw7F0tKSK1euYGFhQePGjdm7dy+VKlUyrxRs27YtAIsWLeLQoUNMnDiR1q1bc/DgQUJDQ0lOTuaXX35h69atFBYWUq9ePRo3bszWrVvp1KkT7dq1IzIysti8FMAiIiIiIiIiIiIlUQDLA2QwGBg7diyhoaGsXbuW3r17m++tX7+e4cOHk5qaiqWlJU5OTjz77LP8vl67Z88e89++vr64urrSqVMnUlJSaNCgAa+++qr5/rVr18jIyCAkJIStW7fecV4KYBERERERERERkfKmAJYy1LJlSxITE8nMzCQtLY0tW7Zw+fJl6tevX2qfp59+GoCUlBTgVtrzhQsXSE9P57333sPZ2ZlWrVoBYGtrW/4vISIiIiIiIiIiUgqtTCwHTk5OAJw6dYr9+/fz3nvvldo2MTERuBXmAtCmTRumTp1KzZo1qVOnDsuWLeP777/H0dERZ2fnUsdRAIuIiIjI/Xe3ASwKThEREZHHhYqJ9yAnJ8e8ghDgzJkzJCYmUqVKFerWrcvatWupXr06devW5fDhw4wdO5bevXvTtWtXAE6fPs2qVat47rnnqFq1KocOHeKtt96iQ4cO+Pn5AdC1a1eaNGlCrVq1mDVrFhcuXGDKlCm8+eabTJ8+vdS5KYBFRERERERERETKmwJY7kFsbCwdO3Ys9n1ISAjLli1j/vz5zJ49m4sXL+Lq6sqQIUN45513qFixIgDnzp1j8ODBHDlyhGvXruHm5kafPn2YMmVKkcMvf/nlF9544w1iY2Oxt7cnJCSEGTNmYGVVeu1XASwiIiIiIiIiIlKSsgxgUTHxMVWW/5KIiIiIiIiIiMijqyzrRApgecitW7cOX19fbG1tqVq1Kp07d+batWsPeloiIiIiIiIiIvIE0pmJD7G0tDQGDBjArFmz6NOnD1evXmXXrl2UtJhUASwiIiIi99/dBrCURsEsIiIi8qhRMfEhlpaWRn5+Pn379sXd3R0AX1/fEtsqgEVERERERERERMqbzkx8iJlMJoKDg9m3bx/BwcF07dqVfv36Ubly5WJtFcAiIiIiIiIiIiIl0ZmJTwhLS0u2b9/O5s2b8fHxYcGCBXh5eXHmzJliba2trXF0dCxyiYiIiIiIiIiIlCWtTHyEmEwm3N3dCQsLIyws7I5tleYsIiIiUv7+eGaizkAUERGRh1FZ1ol0ZuJDLCEhgR07dtC1a1dq1KhBQkICly5dwtvbu1hbBbCIiIiIiIiIiEh5UzHxIebo6MjOnTuJiYkhIyODgoIC5s2bx7PPPlusrQJYRERERERERESkvGmb8yNi2bJlhIaGkpmZWeJ9BbCIiIiIiIiIiEhJtM1ZirG2tsba2vpBT0NERERERERERB5jKiaWgy1btjB16lSOHDmCpaUlbdq0Yd68eTRo0IDU1FTq1avHl19+yYIFC0hISMDT05OFCxfSpk0b8xjLli0jIiKC3377jeDgYNq1a3fHZ+rMRBEREZFb/hiKUp4UuCIiIiJPGosHPYHH0bVr1wgLC2P//v3s2LEDCwsL+vTpQ0FBgbnN5MmTGTduHImJiTRq1IgBAwaQn58P3ApeGT58OKNHjyYxMZGOHTsyderUOz4zOjoaJycn8+Xm5lau7ygiIiIiIiIiIk8enZl4H/z2229Ur16dw4cP4+DgQL169fjkk08YPnw4AMnJyTRp0oRjx47RuHFjBg4cSFZWFt9885//q167dm1+/fVXSvvHpTMTRURERG7RykQRERGRonRm4kPu1KlTREREkJCQwG+//WZekXj27Fl8fHwA8PPzM7d3dXUFID09ncaNG3Ps2DH69OlTZExbW9s7PlNnJoqIiIjcogKfiIiISPlRMbEc9OzZE3d3dxYvXkytWrUoKCigadOm3Lhxw9ymQoUK5r8NBgNAkW3Qf3Tp0iVzOxERERERERERkQfhsSgmrlu3jqioKFJSUrCzs6N58+Zs3LiRN998k8zMTJo3b86HH36I0Whk4MCBzJ8/n4oVKwJ3DksB6NevHy4uLnz44YcAhIaGMm/ePPOW5Bs3blC5cmU2btxI586dCQgI4MSJE7Ro0YIXXniBihUr8txzzxWbc1RUFLt378ZoNNKsWbMi97y9vVm1ahUfffQRubm59O/fn9q1a3PixIlSfwMFsIiIiIjcf/e6pVqrJkVERORR98gHsKSlpTFgwACGDRvGsWPHiI2NpW/fvuazBXfs2GH+/vPPP+err74iKirK3P+/haUEBgYSGxtrbh8XF0e1atXM3/3444/cvHmTtm3bAmBlZYXBYODo0aOsWbOGoUOHsnTp0mLzvnLlCps3b+bAgQPmYuLtAqCPjw8nTpwgMDCQdevW8e9//5tjx47d8XdQAIuIiIiIiIiIiJS3Rz6A5eDBg7Rs2ZLU1FTc3d2L3Bs6dCj/+te/OHfuHHZ2dgAsXLiQ8ePHk5WVhYVF8Vrq78NSmjZtyuHDh2nWrBkXL17EysoKFxcX3nnnHY4cOcLq1auZNm0amzZtIj4+HoCgoCAuX76MyWTi559/xsvLC6PRyIkTJ1i/fj03b96kf//+JCQk0Lp1awAyMzOpXLkyYWFhzJkzh7Zt22JjY8OpU6f47bffyMvLw8XFhfT0dEwmU4m/gwJYRERERERERESkJGUZwPLIr0xs1qwZnTp1wtfXlxdeeIHFixeTkZFR5P7tQiJAmzZtyMnJ4dy5c8CtsJQBAwZQv359HB0d8fDwAG6FpQA0bdqUKlWqEBcXx65du2jevDk9evQgLi4OuLVSMSgoqMicOnToQHJyMnl5eSQlJeHl5cUrr7xC7969SU9Px8LCgmeeeQYHBwccHByoU6cOFhYWWFnd2nV+7Ngxhg4dyrlz58wrEm+/Y2msra1xdHQscomIiIiIiIiIiJSlR76YaGlpyfbt29m8eTM+Pj4sWLAALy8vzpw5c1f9e/bsyZUrV1i8eDEJCQkkJCQAmMNSDAYDHTp0IDY21lw49PPzw2g0cuTIEfbs2UNgYGCRMX8frnJ7jNvbpnNycnB1dSUxMdF8zZ8/H39/f/7+979TtWpVcnJySE9PB6BevXoArFy5kqSkpGKFSxERERERERERkfvlsQhgMRgMBAQEEBAQQEREBO7u7qxfvx6ApKQkrl+/jq2tLQB79+7FwcEBNzc3Ll++zIkTJ1i8eDHt27cHYPfu3cXGDwwMZPHixVhbWzNt2jQsLCzo0KEDs2fPxmg0EhAQcNdzbdGiBRcuXMDKysq8CjIpKYnJkyfj5+dHTk4OzzzzDNHR0YSFhbFv3z5at26Nt7c3FhYWfPXVVyWOqwAWERERkfJVUtiKAlVERETkSfPIr0xMSEhg+vTp7N+/n7Nnz/LVV19x6dIlvL29gVsrDIcPH05ycjKbNm3ir3/9K6NHj8bCwoLKlStTtWpVPv74Y1JSUvjuu+8ICwsr9oygoCCSk5M5evQo7dq1IygoiIyMDFauXEmrVq2wt7e/6/l27tyZNm3a0Lt3b7Zt20Zqaiqurq4cOHCAzMxM/P39mTlzJleuXGHatGlcvXoVuLXt2srKiipVqpQ4rgJYRERERERERESkvD3yKxMdHR3ZuXMnMTExZGdn4+7uzpw5c3j22Wf54osv6NSpE56ennTo0AGj0ciAAQOIjIwEwMLCgtWrVzNmzBiaNm2Kl5cX8+fPL7aV2NfXF2dnZxo1aoSDgwMAderUwWQy3fO2Y4PBwKZNm5g8eTKvvPIKly5dolq1alSsWJHly5eTmZlp3hL9/vvv8+677wLwwgsv8NNPP5U6bnh4eJFC6O0AFhEREREpG1qFKCIiIvIYpDnfydChQ8nMzGTDhg1lOm5QUBD+/v7ExMSUyXiNGzfG3d2dCRMmUKtWLQoKCmjatCnr169nxYoVfPnll/z000/4+/vf9ZhlmdIjIiIiIiIiIiKPLqU5P0SMRiPjxo2jdu3a2Nvb8/TTTxMbG2u+f/nyZQYMGEDt2rWxs7PD19eXzz//vMj9EydOcOrUKXr06EG7du0ICQkBYPXq1Xz55ZcANG/eHIPBUGRsERERERERERGR++mR3+b8oI0ePZrk5GRWr15NrVq1WL9+Pd26dePw4cN4enqSl5dHy5YtmThxIo6OjnzzzTe8/PLLNGjQgNatW5OXlwdAlSpVWLJkCSkpKUydOhWAXr16YTKZ+Oqrrxg/fjyDBg3CxcWlxHkogEVERESeZCWFo9wP2vosIiIiT5rHeptzebm9zTksLIz69etz9uxZTp48SceOHcnIyKBfv360bt2a6dOnl9i/R48eNG7cGAcHB1atWsWpU6do2LAh586dK3Ju4/r169mwYQNJSUlcvnyZ8+fP0759+xJXJ0ZGRhIVFVXse21zFhERkSeBiokiIiIipSvLbc5amfg/OHz4MCaTiUaNGgFgZ2dHnTp1MBqNVK1aFQCTycT06dNZs2YN58+f58aNGxiNRuzs7PDx8cHW1pZOnTqxb98+evbsSdeuXfHz8+N2jff111/H3t6es2fP3nEuCmARERGRJ5mKeiIiIiL3h4qJ/4OcnBwsLS05cOAAlpaWRe7dTn2ePXs28+bNIyYmBl9fX+zt7QkNDeXGjRvArXTn7du3s2fPHrZt28aCBQuYPHkyCQkJ1KtX767nYm1tjbW1ddm9nIiIiIiIiIiIyB+omHgPCgoKmDlzJnv37mX37t1s2bIFk8lEeno6JpPJvM3Z2dkZgMWLFxMVFcXNmzf58ssvSU9PJyoqipo1a+Lj42Med8WKFbzzzjtkZGQQHBzM5cuXWb9+PYcOHeLixYvAraIjwJkzZ/Dw8Ljv7y4iIiIixf2v26u1olJEREQeNSom3oPo6GhWrFhBo0aNaNmyJYGBgQwfPpz+/fvzxhtvAHDgwAH27duHlZUVkyZNIiAggJSUFBo0aMC7777L9evXuXjxormYePLkSWbMmMHMmTOxtLRk5MiRXL16FW9vb4YPH853331HRkYGmzdvpnLlygpgERERERERERGRB0YBLHfJaDRSpUoVvv32W8LDw82BKBkZGVhYWGBjY0Nubi4uLi5kZWXh7u5OgwYN+Oyzzxg2bBg7duwgPz+fwsJCXnzxRbKysvD392fmzJkEBARw6NAhsrOzsbOzw9HRkdTUVADatm3L+fPnuXLlCjk5OXz//fcEBQUVm58CWERERETuP61MFBERkUdBWQawqJh4l44ePUrTpk2xt7fHZDKRl5eHra0t+fn5NG3alKlTp9K9e3cyMjLw9/cnPz+fV199lYiICPMY8+fPJyIigszMTOBWAXDt2rUcPXrU3Gbu3LksWLCAn3/+GfhPcnRMTMwd51ckkIRdAAAgAElEQVTSykQ3NzcVE0VEREREREREnnBKc34AcnJyAPjmm2/47rvvWLx4MTt37gRuhZ+cPn36T41boUKFIp8NBgMFBQX3PI4CWEREREREREREpLypmHiXfHx8sLa2ZsqUKezevRsAT09P3N3d8fDwoFq1akXa16hRgx9//BG4VSBcuHAhs2bNIisrC29vb5YsWcKVK1dISUnB3t6eZs2asXz5cnP/pKQkQkND2b17N3v27GHXrl0sWrSIVq1alTg/nZkoIiIicv/dyzZnbWkWERGRx4HFg57Ao6JSpUqMGzeO5ORk+vTpg4uLC1u3buW1117jwoULxdq3a9eOTZs28cEHHwAwadIksrOzcXR0pHHjxgwcOJB//etf1KxZk/3791NYWMjo0aPN/QcNGkSdOnXo27cvjRs3ZtiwYeTk5JS6ajE6OhonJyfz5ebmVj4/hIiIiIiIiIiIPLFUTLwH7733HhEREcTHx3PhwgUGDx5MXFwcNjY2xdrWr1+fhQsXmouJNWvWZOLEidjZ2TFx4kRSU1Px8/OjUqVKeHt7M3bsWGJjY839z549S+fOnZk6dSr29vaMHz+ejh07smfPnhLnFh4eTlZWlvk6d+5cufwGIiIiIiIiIiLy5NI253tgMBgYO3YshYWFxMTEmBOXg4KCqFOnDn/Mshk5ciQjR47EYDDw3nvvsW3bNho2bEjNmjUBmDJlCk899RRwq9iYl5fHsGHDCA0NJTIykhEjRhAYGEivXr3w9vbG0tKSdu3alTg3nZkoIiIicv9p67KIiIg8abQysRy9//77JCUlAbBt2zY+/fRTQkJCMBgMQNHwldvf3d7GHBkZydGjR+nevTvbt29n6dKlNGjQ4D6/gYiIiIiIiIiIyH9oZWI52rdvH7NmzQJg69atzJ8/nxEjRphXNP43jRo1olGjRri5uREfH1/qFmdQAIuIiIjIg3AvASzlSSskRURE5H7RysRytGbNGtLT0wGYP38+r7/++l31u379OqNHjyY2NpZffvmFL774AktLS7y9vUvtowAWEREREREREREpb1qZ+BCytLTk8uXLDBkyhIsXL2JhYUG9evWIiooqtU94eDhhYWHmz9nZ2SooioiIiIiIiIhImTIU/jE1RB46wcHBNGzYkI8++uiu+2RnZ+Pk5ERWVhaOjo7lODsREREREREREXmYlWWdSNuc71FQUBBjxoxhwoQJVKlSBRcXFyIjI833z549S69evXBwcMDR0ZH+/ftz8eJF8/3IyEj8/f1Zvnw5Hh4eODk58dJLL3H16lVzm4KCAqKjo6lXrx62trbs27fPHOQiIiIiIiIiIiLyoGib85/w6aefEhYWRkJCAj/88ANDhw4lICCATp06mQuJcXFx5Ofn8+abb/Liiy8SGxtr7n/69Gk2bNjA119/TUZGBv3792fGjBlMmzYNuHX+4YoVK1i4cCGenp6Eh4ezdu1a4uLiCAwMLHFOCmARERF5vDwswR5yZwo+ERERkSeNiol/gp+fH3/9618B8PT05MMPP2THjh0AHD58mDNnzpjPK/zss89o0qQJP/74I0899RRwa+XhsmXLqFSpEgAvv/wyO3bsYNq0aRiNRqZPn863335LmzZtAOjevTtr1qwhKCiIXr16sWHDhmJzio6OvuOZiiIiIiIiIiIiIv8rFRP/BD8/vyKfXV1dSU9P59ixY7i5uRUJPvHx8cHZ2Zljx46Zi4keHh7mQuLv+wOkpKSQm5tLly5dzPevX78OQJ06dVi2bFmJc1IAi4iIyONFK95ERERE5GGkYuKfUKFChSKfDQYDBQUFZdI/JycHgG+++YbatWsD8NRTT9GrVy/i4+NLPSTT2toaa2vru56DiIiIiIiIiIjIvVIASxny9vbm3LlznDt3zvxdcnIymZmZ+Pj4lNovPz+fK1euUKNGDTp06IDBYCA2NhYrKys8PT3JzMzk008/JSUlhblz596PVxERERERERERESlGKxPLUOfOnfH19WXQoEHExMSQn5/PqFGjCAwMpFWrVqX2++c//0lubi5ffPEF7u7uvPTSS0RFRVGtWjV++OEHOnfuTHBwMIGBgYwcObLEMRTAIiIiInJvyiLkRtvRRURE5EmjlYn/o2XLlvHNN7f+Q9RgMLBx40YqV65Mhw4d6Ny5M/Xr16dmzZr07t27xP7Xrl0jPj6eypUr8+yzz2JnZ8fhw4exs7MjKiqKDh06kJuby8mTJ/H398fW1rbEcaKjo3FycjJfOi9RRERERERERETKmqGwsLDwQU/iUbZs2TJCQ0PJzMwstU1WVhaFhYU4OzsXu3fo0CGaNWtGamoq7u7upKamUq9ePTp27IiHhwdLlizB2dmZmJgYhg4dWuozSlqZ6ObmRlZWVqnnLIqIiIiIiIiIyOMvOzsbJyenMqkTaZvzfeDk5FTuz1AAi4iIiIiIiIiIlDdtcy7B119/jbOzMyaTCYDExEQMBgOTJk0ytxkxYgSDBw82f966dSve3t44ODjQrVs30tLSzPeGDh1aZJtzQUEBs2bNomHDhuazFMePH19kDklJScTFxWFnZ8fVq1dJSUkpl3cVERERERERERG5W1qZWIL27dtz9epVfvrpJ1q1akVcXBzVqlUjNjbW3CYuLo6JEycCkJuby/vvv8/y5cuxsLBg8ODBjBs3jpUrV5Y4fnh4OIsXL2bu3Lm0a9eO8PBwtm/fzpYtW7C0tAQgMzOTv/3tbzRv3pymTZuycOFCIiMjsbIq+R+ZAlhERERE7r+yCHF5VCl8RkRE5MmklYklcHJywt/f31w8jI2N5a233uKnn34iJyeH8+fPk5KSQmBgIAA3b95k4cKFtGrVihYtWjB69Gh27NhR4thXr15l3rx5zJo1i5CQEBo0aMBnn33Gyy+/zMsvv0yPHj2AWwXHF198kUaNGmFjY8Ply5fvuDpRASwiIiIiIiIiIlLetDKxFIGBgcTGxvL222+za9cuoqOjWbNmDbt37+bKlSvUqlULT09P4uPjsbOzo0GDBua+rq6upKenlzjusWPHMBqNdOrUyfydjY0N8+fPZ/78+eYAll69epnv//LLL1SpUoX09HQaN25c4rjh4eGEhYWZP98OYBERERGR8qPVeSIiIvKkUTGxFEFBQSxZsoSkpCQqVKhA48aNCQoKIjY2loyMDPOqRIAKFSoU6WswGCgtJNvW1vaunv/7MQ0GA3DrrMXSKIBFRERERERERETKm4qJpbh9buLcuXPNhcOgoCBmzJhBRkYGb7/9drE+X3/9NYMHD2bJkiXAreCW22ce3l65OGfOHCwtLdm4cSMJCQns3LmTjIwMGjRowP/93//Rpk0b83jr1q0jKiqKU6dOAfD222+zc+dO7O3ty/v1RURERB4r5XW2oVYmioiIyJNGZyaWonLlyvj5+bFy5UqCgoIA6NChAwcPHuTkyZNFVibedrsA+fPPPwOYg1suXLhgbhMfH89zzz1HZGQkhYWFLFy4kOXLl+Pr68vLL79MYmIiAJcuXWLAgAEMGzaMffv2mccvbcWj0WgkOzu7yCUiIiIiIiIiIlKWVEy8g8DAQEwmk7mYWKVKFXx8fHBxccHLy6tY+9vBLUeOHAH+E9xy5coV8vPzzcEts2fPZvz48ezdu5fnn3+esLAwfH196datG998c+v/mv/222/k5+fTt29f6tatC0Dv3r1xcHAoca4KYBERERERERERkfJmKCxtqZv8KWFhYZw8eZJ//etfVK9end27d/PSSy8xY8YMrly5wvjx4zl//jwmk4np06ezZs0azp8/z40bNzAajfTp04c1a9ZgMpkIDg5m3759BAcH07VrV/r160flypVLfK7RaMRoNJo/3w5gycrKwtHR8X69voiIiIiIiIiIPGSys7NxcnIqkzqRViaWsaCgIHbv3l1icEtcXJx5e/Ts2bOZN28eEydO5PvvvycxMZHg4GBu3LgBgKWlJdu3b2fz5s34+PiwYMECvLy8OHHiRInPtba2xtHRscglIiIiIiIiIiJSlhTA8j8qKChg5syZfPzxx1y4cIH69euTnZ3NBx98QFZWFn//+9+LBLe88MILWFhY8Mwzz9CrVy969OjBuHHj2LBhA1euXKFq1aokJSXRrFkzDAYD27dvZ+PGjYwePZpRo0bRuHHjEs9NLGllooiIiIiUr/IKdrlbCoARERGR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li5diq2tLQ0aNGDr1q0A5OTkcPHiRZo2bcr69evJyspix44dfPDBBwBs2rSJ+fPnY2try1NPPUXr1q0ZMWIEOTk5+WJcuHAhBoOBLVu28PLLL5OXl4eTk1O+RjO/FxUVRWRkZAn+aiIiIiIiIiIiUtqVym3OdevWZfTo0fj6+tK9e3eCg4P56aef7jp+yJAhtGjRAj8/P/r378+5c+dwdnYmJCSEoKAgKlasyLlz54DbFYF5eXn4+/vj7e2Nn58fPXr0MG17joyMJDw8nO+//57ExETefPNNbGxsClQSWlpaEh4ezlNPPUVSUhKWlpamMxMLEx4eTmpqquk6e/ZsMf1aIiIiIiIiIiIit5XKbc5169bN97lixYpcvHjxL40vX748AD///LPp3qhRoxg8eDAALi4uhIaG8umnn3L69GmefvppXnjhBRISEoDbW5fj4+MZN24ccDtpeOHCBXJycjh//rxp/eeff54FCxYAEBgYSLt27fD09LxrjEajEaPR+Jd/AxERERG5f9pqLCIiIqVNqaxMLGpzlN+PNxgMhd77/fy5c+eydetWGjRowJdffkn16tXZtm0bAOnp6URGRpKQkGC6fv75Z44fP17ouYkiIiIiIiIiIiKPilJZmfggBAUFERQURHh4OPXr12fhwoX861//4rHHHuPo0aP4+PjkG9+0aVMCAwOJjo4GYNmyZaxatYqlS5eSmZlJ1apV7/k+NWARERERefAeZgOWP6OqSRERESkJpbIysSQlJiYSHh7O1q1bOX36NN9//z3Hjx/Hz88PgLZt2zJnzhzCw8M5ePAghw8fZvHixSQmJuZb5+uvvyY4OJi9e/fi6urKN998w9GjR+/63qioKJycnEzXnyUfRUREREREREREikqVicXM1taWI0eOMG/ePC5fvozBYCAgIIA+ffoA8MQTTwCwbt06YmJisLS0pGbNmlhbW+dbp169evTt2xeAcuXKkZqayvr166lRo0ah7w0PD2fQoEGmz2mX135HAAAgAElEQVRpaUooioiIiJQwVf+JiIhIaVPqkolxcXEF7n311Vemv/Py8kx/e3h45PsMt7cj//FeaGgooaGhwO0GLStXrsw3PjAwEDOz/EWg3333Hc7OzvnG3eHu7k7r1v/9H9OEhAQCAgLu2SRGDVhERERERERERKSkaZtzCQoNDWXDhg3ExMRg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1q9fX+wB/lPExMTg7e3N7Nmz2blzJ+bm5gwdOpTly5czb948Ro8eTXp6Oi1atMDe3j7f3OHDh1OxYkVat25N3bp1C11fDVhERESkNPtjI5QHRducRUREpLQpcmVi69atmTFjBs899xy7d++mb9++pkRizZo1SyLGfwQnJyccHBwwNzenQoUK2NraMnPmTCZOnEjLli2xtbXl6aefxsbGhvT09Hxzx44di4ODAy4uLri4uBS6vhqwiIiIiIiIiIhISStyZSJAly5duHr1KiEhIbi5ubFhwwZ8fHyKO7Z/tJMnT5KdnU1ISAhwe0szwNmzZylTpgwDBgww3WvXrh0pKSk4OzvfdT01YBEREZHSTBWCIiIiIg/GX0om/j5J9Xtubm489thjzJgxw3RvypQpxROZFInRaMRoND7sMERERERERERE5B/sL21z3rt3b6GXj48PaWlpps8JCQklHe8DlZubS1RUFJ6entjY2BAQEMCyZctMz1etWoWvry/W1tY0a9aMefPmYTAYuHr1KtevX8fR0THfeIAbN25gZ2dHuXLlsLKywsPDg8WLF9OgQQOMRiPffPONKSl4/vx507wyZcpgMBgIDQ19IN9dRERERERERETkj/5SZWJpbawSFRXF/PnzmTVrFr6+vmzcuJFu3brh5uZGtWrV6NSpE/379+fVV19l7969DBkyxDTXzs6OF198kblz59KpUyfT/fT0dJ5//nkqVKhA165dmTt3Lm+99RYjRoygfPnyfPvtt8yfP5/33nsPNzc307yjR4/i6OiIjY1NobGqAYuIiIjIg/ewGr+AtnaLiIjIw1HkBiy/d+7cOc6dO1dcsTxSMjMzGT9+PHPmzKFFixZ4eXkRGhpKt27d+Pjjj/n444+pUaMGEydOpEaNGrz44osFqgZfffVVvvvuO5KTkwG4du0aN2/e5JVXXgFg2LBhANy8eZPhw4dz6dIl1q9fj7OzM5999hnm5uamtZYsWUKFChVwcnIqNF41YBERERERERERkZJmyMvLyyvKhNzcXN577z0mT55s6jrs4ODA4MGDGTFiBGZm95WffGQcPHiQ2rVrY2dnl+9+VlYWQUFBVKpUiTJlyjBnzhzTs1WrVtG2bdt8zVICAgJ46aWXGD58OFOmTGHGjBkcP34cg8FAUlISnp6ebNiwgcaNG5vWad++Pc7OzsydO5e4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LRo2bMjQoUMZPnw4AwYMAGDZsmU0aNCA9u3b06hRI3JyctiyZcs9S5vvZ9SoUfTq1YvevXvTqFEjbG1t6dy5M3Bnf8a8ljgDBAQEkJSUZDri4+P/948VERERERERERH5g8c2gOXatWtYWlpia2v7Tw/lgRgMBtavX0+nTp3+1vMRERF4e3tz5coVihcv/pftC3JjTREREREREREReXwVZJ3osV3mXKpUqX96CI/Uxo0bad26da6kaBERERERERERkUfpP7HM2cXFhffff5++fftia2tL5cqVWbRokant7du3GTZsGEajkeLFi+Ps7Mz06dNN9w0GAwsWLKBt27aUKFGCqlWr8u233+Z6X3x8PC+99BIODg6UKlWKjh07Ehsbm6vN0qVLqVmzJlZWVhiNRoYNG2YaH0Dnzp0xGAymc4AFCxbg6upKsWLFqF69OitWrMjV592xffjhh2zZsoX33nsvz98jPT2d5OTkXIeIiIiIPByXcZsf6hAREREpah7bYuKfBQYG4uXlxbFjxxgyZAiDBw8mMjISgDlz5rBx40bWrFlDZGQkK1euzFXQA5g4cSJdu3bl+PHj9OzZk5dffpmIiAgAMjIyaNOmDba2tuzZs4fQ0FBsbGzw9fXl9u3bwJ2i4NChQxkwYAAnT55k48aNPPnkkwAcOnQIuLOnYkJCgul8/fr1DB8+nFGjRnHq1CkGDhxInz592LlzZ66xjR8/nsTERJYuXUrfvn3z/P7p06djb29vOipVqlQwP6yIiIiIiIiIiMj/99jumejj44OnpyezZs3CxcWFpk2bmmb15eTkUL58eaZOncqgQYN48803OX36NNu3b88zCdlgMDBo0CAWLFhguvb0009Tv3595s+fz5dffsm7775LRESE6fnbt2/j4OBAcHAwzz33HBUrVqRPnz68++67eY43rz0TmzRpQs2aNXPNonzppZdITU1l8+bNpueeeeYZ9u7dy7Fjx/D09Myz//T0dNLT003nycnJVKpUSXsmioiIiIiIiIgUcQW5Z+J/ZmZinTp1TH8bDAbKly/PpUuXAPDz8yM8PJzq1avz5ptv8sMPP9zzfKNGje45vzsz8fjx40RHR2Nra4uNjQ02NjaUKlWKtLQ0YmJiuHTpEr/99hstW7Z8qDFHRETQpEmTXNeaNGlieu9diYmJf9mXlZUVdnZ2uQ4RERER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ERERKWyamVgA/hiKYm5uTunSpalduzYAH3zwAVlZWcybN4/evXvTsGFD+vXrR6tWrYiLiyMzM5MTJ05w6tQpWrduzZAhQ3jzzTepWbMm5ubmpn6NRiMnT57MdwwBAQG5UqyTk5NVUBQREREpZJqRJyIiIkWNiokFwNLSMte5wWAwXStevDhz585l3rx5rFmzhrS0NPr06UNgYCCNGjXC1taWGTNmEBYWxtatWwE4cuQI169fB+4EsEyZMoURI0aQnZ2d7xisrKywsrIqpC8UERERERERERFRMfGRCw0NpXHjxgwZMsR0LSYmBrgT5uLp6QnA+fPncXNzIz4+Hnt7e+zs7KhYseI/MmYRERERERERERHQnomPnJubG4cPH2bbtm38/PPPTJw4kUOHDuVqc+XKFU6cOMG0adOIjIxk69atf1lITE9PJzk5OdchIiIiIoXDZdxmha+IiIhIkaRi4v/o7NmzfPfdd/dt4+LiYvp74MCBdOnShe7du/PUU09x9erVXLMUAVJTU7GwsKB9+/Y4OztTr14904zF/CiARURERERERERECpshJycn558exOMgNjaWKlWqcOzYsVyFPT8/P65fv05wcHC+z16+fJmSJUtibW1933fcXeb8zjvv0KRJExISEvD19cXX15fOnTvf9/n09HTS09NN53cDWJKSkrCzs3uILxURERERERERkf+S5ORk7O3tC6ROpJmJj4CTk9NfFhL/yNbWlqNHj/L1119jNBqZNGkSdevWNYWy5MXKygo7O7tch4iIiIiIiIiISEH61xYTv/32W2rXrk2JEiUoXbo0rVq1IjU1lezsbKZNm8YTTzyBlZUVnp6ephRkuDOD0GAwsGbNGpo2bUqJEiXw9vbm559/5tChQ3h5eWFjY0Pbtm25fPlyrncuWbIEd3d3ihcvTo0aNZg/f77pXpUqVQCoV68eBoMBHx+fXM/OnDkTo9FI6dKlGTp0KBkZGaZ7/4+9O4+qutr/P/48zMhhEFIGRTBBBWQwp4ybmpbilGNqScq1HDLNIvVKqanVpUwTsuutJIdSs7TMSjKHryCCYaKnnDIcMXMewAGZDr8//HnuJcEGQe3yeqz1Wet8+OyzP3sf/3G919775e/vT0JCguXeYDCQlJRkWW0YGBjIF198Uaa/5ORknnrqKd566y3q1KnDwYMHqVmz5g0LiiIiIiIiIiIiIlXpjkxzPnbsGI8++ijTp0+nV69eXLhwgbS0NEpLS0lMTGTmzJm8++67NG3alHnz5vHwww+za9cuAgMDLX289NJLJCQkUK9ePYYMGcJjjz2Gs7MziYmJ1KhRg379+jF58mT+/e9/A7B48WImT57M22+/TdOmTdm+fTtDhw7FycmJwYMHs2XLFlq2bMm6desICQnBzs7O8q4NGzbg7e3Nhg0b2LdvH/379yciIoKhQ4dWOMepU6cyffp03njjDWbPns3AgQMJDw8HrhY1hw8fTnR0NIMHD2bx4sWkpaXd8Dcrb5uziIiIyJ3ifzWs5NBrXW/3EERERERuqTtyZeKxY8coLi6md+/e+Pv7ExoaysiRIzEajcyYMYN//OMfDBgwgEaNGvH6668TERFRZuUfwNixY+nUqRNBQUGMGTOGrKwsJk2aRGRkJE2bNuWJJ55gw4YNlvYvvfQSM2fOpHfv3tSvX5/evXvz3HPP8e677wJXtyoDeHh44OXlhbu7u+W7NWvW5O2336Zx48Z069aNrl27sn79+hvOMSYmhkcffZSAgAD++c9/cvHiRUsBMCUlBQcHB7788ku6detGamoqzs7OAAwcOLDc/hTAIiIiIiIiIiIiVe2OXJkYHh5Ohw4dCA0NpVOnTnTs2JG+fftibW3NL7/8QmRkZJn2kZGRfP/992X+FhYWZvns6ekJQGhoaJm/nTx5Erianrx//36eeOKJMqsJi4uLcXV1/c3xhoSEYG1tbbn39vZmx44dN/zOf4/PyckJFxcXxo4dy6BBg+jVqxf9+/dn3rx5ALRq1Yq6deuSmppaZuv1f4uLiyM2NtZyfy2ARUREROROoBV8IiIiIv8b7siVidbW1qxdu5avv/6a4OBgZs+eTaNGjTh48ODv7sPW1tby2WAwlPs3s9kMwMWLFwGYO3cuJpPJcu3cuZNvv/32D73r131Xxnf2799vKT5WVNxUAIuIiIiIiIiIiFS1O3JlIlwtrkVGRhIZGcnkyZPx8/Nj/fr1+Pj4kJ6eTtu2bS1t09PTadmy5Z9+l6enJz4+Phw4cKDCbcTXzkgsKSn50++pSEFBAfn5+TzzzDOMGDGCu+66C0dHRw4dOmQJfpk9ezYAS5YsYeTIkZU+BhERERH54yrzLEit3hQREZG/gjuymJiZmcn69evp2LEjtWvXJjMzk1OnThEUFMS4ceN46aWXaNCgAREREcyfPx+TycTixYtv6p1Tp07lmWeewdXVlaioKAoKCti6dSvnzp0jNjaW2rVr4+joyOrVq6lbty4ODg6/awv07zF+/HiKiop4+umnefLJJ5k0aRKfffYZb775Jps2beKhhx7C3t6e8+fP07t373L7UACLiIiIiIiIiIhUtTtym7OLiwsbN26kS5cuNGzYkIkTJzJz5kw6d+7MM888Q2xsLM8//zyhoaGsXr2aL774okyS85/x5JNPkpSUxPz58wkNDaVt27YsWLDAsjLQxsaGt956i3fffRcfHx969OhRGVPl0qVL/Pvf/8bR0ZGwsDCCg4NZunQp7u7uLFmyhA4dOlBYWMjDDz8MgJubW7n9KIBFRERERERERESqmqG0tLT0dg+iOvvhhx8IDw/n0KFD+Pn5Wf7eq1cvatasybx583Bzc6NDhw5s2bKFI0eOlNtPeSsTfX19yc3N1fmJIiIiIiIiIiLVWF5eHq6urpVSJ7ojtzkLHDhwgHr16nHgwAEKCwv5+uuvy6Q1/5q9vT329va3cIQiIiIiIiIiIlLdqJh4m6xevZpXXnmFHTt2ANCzZ0+WL19OgwYNyM7O5ocffiA7O5uAgABKS0txcXGhU6dOFfanMxNFRETk96jMwBBRaIqIiIhUP3fkmYnVwaVLl4iNjSUrK4vHHnuMH3/8kQcffJCdO3cSFxcHQN26dfnyyy9xdnamYcOGPP744xQXF5fbn85MFBERERERERGRqqZi4m3Sp08fevfuTUBAAO+//z7R0dEcOnSIZs2acfjwYQD+8Y9/0LVrV6ysrOjZsyeHDx9m37595fYXFxdHbm6u5arobEUREREREREREZE/S9ucb5Ps7GwmT55MZmYmp0+fxmw2A7BixQqCg4OpX78+YWFhAJw/f55z584xceJETp48SePGja/rT2cmioiIyO+hbbkiIiIicjNUTLxNunfvjp+fH3PnzsXHxwez2UyTJk0oLCy0tLG1tbV8NhgMAGXORRQREREREREREbmVVEy8SQUFBYwbN46lS5eSl5dH8+bNmTVrFs2aNaNevXq8+OKLPPXUU5b227dv55577gFg7ty5hIaGMnbsWJYvXw7ApEmTeP311y3tp0yZwueff86QIUMA6NixI6WlpeWOQwEsIiJ3LoVeiPxv0kpPERERqW50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pVWrVmW+a21tbflsNpvZuXMnAAcPHuTYsWM33OZsb2+Pvb39zU5VRERERERERESkQgpg+R0yMjKIjIwEYNOmTZbPv9U2PT2dXr16MXXqVLZv346dnR0LFy4EYPfu3QQEBGBra8tzzz1HixYtaNKkCSEhISQnJ/PCCy/www8/APDFF1/w3XfflQlpERERERERERERudW0zbkCOTk5hIWFAXD58mWsra2xt7cnPz8fg8GAg4MDjz32GHPmzGHJkiWMHDkSuLps1MnJidLSUi5fvoy9vT22trb8/e9/55133mHatGlMmDABR0dHXnvtNT777DMKCgro0qULV65coXXr1hw/fpynn36a2NhYXnvtNaZNm8b06dPZtGkT4eHh5Y5X25xFREREKlZVYTIKYBEREZG/gsrc5qyViRXw8fHBZDKxceNGADIzM8nKysLOzo41a9ZgMpmYNm0aAA8//DAmk4kZM2YQHBzMjh07eP3117Gzs8PJyYmCggKSk5OZOXOmZWtzYmIi8+fPZ+PGjZhMJtatW0fz5s158MEHmTVrFjExMXTq1AmA0aNH0759e0aOHElJSUm5442Pj8fV1dVy+fr63oJfSUREREREREREqhOdmVgBGxsb/P39+eSTT2jRogVhYWGkp6fj6elJmzZtyrQ1Go0YjUa2bdtGjx498Pf35/z580RHR5OUlFSm7bUAlUceeYShQ4eSlJTEU089RXFxMSaTiQYNGrBr164ybQFWrlx5w/HGxcURGxtrub+2MlFEREREtIJQREREpLKomFiBkJAQDh8+TFFREWazGaPRSHFxMcXFxRiNRvz8/Ni1axc5OTkEBwcDcOXKFWxsbEhMTKSgoAArKyuWLl1KdHQ077zzTrnvefLJJ+nUqROrVq1izZo1xMfHM3PmTEaPHv2HxqsAFhERERERERERqWoqJlYgOTmZoqIiOnTowPTp02nWrBkDBgwgJiaGqKgobG1tgf9shz5+/DgPPvggJpOJkpISIiIiSEtLw93d/Tf3ovv6+jJixAhGjBhBXFwcc+fOZfTo0djZ2QFUuLVZRERERCrfHzlfUSseRUREpLpRMbECfn5+HD9+nBMnTtCjRw8MBgO7du2iT58+eHt7W9rZ2NgQEBDA1q1badWqFY0bN2bjxo3cfffdtGzZ8jff8+yzz9K5c2caNmzIuXPn2LBhA0FB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ERERERG5A+Xl5eHq6lopdaJqtzLxTtK9e3fOnj3L3LlzyczMtIS3FBYWcs8993Dw4EFefvll8vPz6devH3379q2wL3t7e1xcXMpcIiIiIiIiIiIilUnFxJvQrl07Ro0axahRo3B1deWuu+5i0qRJXFvsaTAY+Pzzz8t8x83NjQULFnDmzBn27t3LmjVrOH36NCNGjKBp06aWdklJSbRq1YrBgweTlpZGdHS0JYxFRERERO4M/hNWWS4RERGR6kDFxJu0cOFCbGxs2LJlC4mJibz55pskJSX95vdq1qxJzZo1AXj++edp3749QUFBAKSmphIbG0tUVBRfffUVo0aNIikpCVdXV9zc3Mrtr6CggLy8vDKXiIiIiIiIiIhIZVIx8Sb5+voya9YsGjVqxMCBAxk9ejSzZs0qt21paSn5+fk8/fTTWFtb8/zzzwNw4sQJPvvsM9566y0Ali5dSv/+/UlJSaFnz568+OKL1KlTBz8/P6ysyv8nUwCLiIiIiIiIiIhUNRUTb9K9996LwWCw3Ldu3Zrs7GxKSkqua7t69WoKCwt59tlnOXbsGP379wcgJSWF77//nrZt23Lx4kWOHz/O4sWLyc7OBqCkpISjR49y/PjxCscRFxdHbm6u5Tpy5Eglz1REREREfu3Qa10tl4iIiEh1YHO7B/C/zGAw8N9h2fv378dgMBAYGIiXlxeHDh0CwMnJydLm4sWLAMydO5dWrVqV6c/a2pqioiJsbW2ve5e9vT329vZVMAsREREREREREZGrtDLxJl1LYL7m22+/JTAwEGtra2rVqsWxY8cAiImJYfTo0ZSWlvL3v/8df39/UlNTAbj//vvx8PCgW7duXLx4ER8fHw4cOICNjQ2BgYFkZWXxxBNPEBQUxOLFi8sdh85MFBEREbn1/juARWEsIiIiUh2omHiTcnJyiI2NZe/evXz00UfMnj2bMWPGANC+fXvefvtttm/fTkxMDPXr1wcgISGB7777jsuXLwOwePFi1q9fj5WVFb169eKll14iPj6e+fPnAxAbG0toaCjPP/88nTp1KnccOjNRRERERERERESqmoqJN2nQoEHk5+fTsmVLnn76acaMGcOwYcMAmDlzJr6+vtx///0MGzaMhx56CIPBgKurK7Vq1aJz584A1KtXj4iICObNm8eOHTu47777SEpKYvny5QCcP3+eHTt20Lx5c7y9vcsdh85MFBERERERERGRqmYo/e9D/aRCp06dok6dOpw7dw47Ozvc3NwICwujVatWJCQklGm7bNkyZs2aRUZGBhkZGURHR3PgwAESEhJISEiwnJWYnZ3N5MmTyczM5PTp05jNZi5dusSqVavo0qULhw4don79+mzatInIyMg/NN68vDxcXV3Jzc3FxcWlsn4GERERERERERH5i6nMOpECWH6nzZs3Ex4ejpOTE5mZmbi7u1cYeLJ582ZL8S8tLa3CQmD37t3x8/Nj7ty5+Pj4YDabadKkCYWFhWXa/XdAi4iIiIiIiIiIyO2iYuLvlJGRYSkKXlspePz48QrbTpgwwdK2a9eu17VJT09n79695OTkkJGRQUREBKNGjbI8T0pKIj4+HoCePXsyfvx4Ro4cWeH4CgoKKCgosNwrgEVERETk9/uzoSmHXrv+/3kiIiIi/8tUTLyBnJwcwsLCALh8+TLW1tYsWLCA/Px8DAYDDg4OBAcHPByDxQAAIABJREFUA7BkyRJLsS8vL4/HH38ca2trLly4wIYNG5gwYQLdu3cH4OjRo3Tv3h07OzvatWvHc889x9q1a3n11VcBSE1N5eOPP2by5Mk89dRTjB49mkmTJuHk5MTgwYPLHWt8fDxTp06t6p9ERERERERERESqMQWw3ICPjw8mk4mNGzcCkJmZSVZWFnZ2dqxZswaTycS0adMAePjhhzGZTMyYMYPg4GB27NjBBx98gKenJzt37sRkMtGkSRMA/vWvf+Hm5sbKlSs5dOgQ3bt355tvvmH27NkALF26lJkzZxIVFQVAhw4dGD58OE8++aTlvMVfUwCLiIiIiIiIiIhUNQWw/A6ffPIJiYmJpKenk56ezuDBg9m3b1+5bUeOHEnNmjV59dVXefXVVzl48CBJSUll2nTp0oVatWqxcOHC675/6dIljEYjjo6OWFn9p9Z75coVbG1tyc/P/11jVgCLiIiIiIiIiIiAAlhumZCQEA4fPkxRURFmsxmj0UhxcTHFxcUYjUb8/PzYtWsXOTk5lu3OV65cwcbGhsTERAoKCrCysmLp0qVER0fzzjvvAODo6FjhOy9evAjA3LlzadWqFQD5+fncd9995RYfRUREREREREREbhUVE28gOTmZoqIiOnTowPTp02nWrBkDBgwgJiaGqKgobG1tgf9shz5+/DgPPvggJpOJkpISIiIiSEtLw93dvUzVNywsjIULF1JUVGTp4xpPT098fHw4cOAAAwcOBGD58uU4OjrSu3fvCseqABYRERGRW+/PBrdURIEuIiIicqfTmYk34Ofnh9Fo5MSJE/To0QNfX1927dpFnz59CAgIwM/PDwAbGxsCAgL4+eefadWqFY0bN+bMmTPcfffdtGzZkoCAAGrXrm3pd9SoUeTl5TFgwAC2bt1KdnY2H374IXv37gVg6tSpxMfH89Zbb/HTTz+xYsUKPD09efPNNysca3x8PK6urpbL19e3an8cERERERERERGpdrQy8TekpKTQokULHBwcSEtLo27dunh7e1fYtk2bNsDVROZrn3/Nw8OD//u//2PcuHG0bdsWa2trIiIiiIyMBODJJ5+kRo0avPHGG4wbN47S0lI8PDyoX79+heOMi4sjNjbWcp+Xl6eCooiIiEgV00pCERERqW4UwPIX0KlTJwICAvjXv/71u7+jABYREREREREREYHKrRNpm/NttHr1av72t7/h5uaGh4cH3bp1Y//+/QAUFhYyatQovL29WbduHQsWLCA+Pv42j1hERERERERERKozFRNvo0uXLhEbG8vWrVtZv349VlZW9OrVC7PZzFtvvcUXX3zBJ598woQJE/Dx8cHf37/CvgoKCsjLyytziYiIiEjV8p+wynKJiIiIVAc6M/E26tOnT5n7efPmUatWLXbv3k1OTg6BgYGWlYvTp0/n7bffJjMzk4SEhOv6io+PZ+rUqbdq6CIiIiIiIiIiUg3pzMTbKDs7m8mTJ5OZmcnp06cxm81cunSJVatW4eXlxUMPPYSHhwdRUVGsWbOGYcOGMXToUJydna/rq6CggIKCAsv9tQAWnZkoIiIiIiIiIlK96czE/xHdu3fn7NmzzJ07l8zMTDIzM4Gr5yXec889HDx4kJdffpn8/HyOHDnClClTcHJyKrcve3t7XFxcylwiIiIiIiIiIiKVScXE2+TMmTPs3buXiRMn0qFDB4KCgjh37lyZNi4uLvTv35+5c+fy2WefceHCBQYNGnSbRiwiIiIiIiIiItWdzky8TWrWrImHhwfvvfce3t7e5OTkMGHCBMvzN998E29vb5o2bYqVlRXLli3Dzs4ODw+Pcvsrb5uziIiIiFStXwevHHqt620aiYiIiMitoWLibWJlZcXSpUt55plnCAwM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sWI0atSI+Pj4HPOMGzeO0qVL4+joSHx8PPv378fHx8d8f926dXkurb5bEWhhYUFUVFSOWE6dOkVaWlqO8T/88ANeXl7Y2trSrt2d/1nv1KkT165dM485dOgQTZo0wc7OjurVqwPkmkdERERERERERORheioqE2/fvs3YsWOpWrUqly5dIjAwEH9/f3766acc4z744AOmTZuGq6srb7/9Nv369SMiIgKApUuXMn78eD7//HMaN25Mq1atOHjwINWqVQOgWrVqrF+/nuzsbPN8ERERWFlZYW9vD4CrqytXr141x3Lq1ClatmzJqlWrmDJlClWrVuXs2bN06dKFgIAA3nzzTRYvXszOnTtzfdPAgQMJDQ0lPDyckydP0rp1a8LCwmjTpk2ev4EasIiIiEhR9qiaxqiKU0RERIqapyKZ2K9fP/PflStX5pNPPqFevXqkpqbi4OBgvjd+/HiaNm0KwPvvv0+7du24desWtra2fPrpp/Tv35++ffsCULFixRzJuYEDBzJx4kS2bt3KkSNHiI+P56OPPsLT09O89Pnll19mwYIFODg4kJaWxsyZM7G1teX48eOkpqbSokULnJycSE9Pp1evXly+fJlNmzbl+U1t27Y1V0G6uroC8PPPP5vj/V+hoaGMHj367/yMIiIiIiIiIiIi9/RUJBP37t1LSEgIMTExJCUlkZWVBcCZM2fw9vY2j6tZs6b573LlygFw6dIl3N3diY+PZ+DAgTnmLVu2rHmuZ555hho1anDx4kVq1apFiRIl6N+/P7GxsebxwcHB7N27l5dffpns7GysrKxIT0/PEYuvry8HDx6kXr16VK5cmSlTptC+fftc37Ry5UpzkvJuc5fs7GxOnTplrpb8IzVgERERkaJMFYIiIiIiD8cTv2diWloarVq1wsnJiaVLlxIVFcX3338PYE7k3WVtbW3++26i7m6y8H9t3boVPz+/HNdKlChBt27dMJlMJCYmMnHiRDIzM833LS0t2bdvH2+88QZbtmwhOjqa9evX54jF0dGRdu3aYTKZiIuLo3jx4jne4eHhgbW1Ne7u7qxbt46ffvqJkSNHEhcXx7Fjx/D09MwzXqPRiJOTU45DRERERERERESkID3xlYlHjhzhypUrTJw40VyJt2fPnj89T9WqVYmKiqJ3797ma1FRUTnGuLq6kpiYaD7PzMzk0KFDNGvW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lqMz8h/NnDkTX19fJkyYwLhx43B0dGTPnj1ERESwdetWnnnmGWrUqIHRaGTOnDmMGTOGgQMHUrduXTZt2gRAixYtuH37NtevX2fQoEH89ttvbN68mTfeeAPAHPs777yDl5cXjRo1YsSIEQD5xhUaGoqzs7P50H6JIiIiIiIiIiJS0J66Zc4APXv2ZMCAAXz++ecYjUaWLl1K9+7d+fDDD8nIyDAvc05JSeHf//43X331FU2bNjU//69//YuYmJgcc37zzTcAxMTEsGXLFhwcHMz3LC0tgf8m+lxcXOjduzefffaZeUyHDh24dOkSALGxsbi7u3P69Ok847906ZJ5WfRdd5tu51cxqQYsIiIi8iTQsmARERGRJ9tTmUxs37492dnZrF27lnr16rFjxw6mT59eIHOnpqbSvn17Jk2alOteuXLlzH//sXkK3GmgcjcReL9mLqmpqfzzn/9kyJAhue65u7vn+YzRaMRoNN43fhERERERERERkb/qqUwm2tra0rlzZ5YuXcrx48epWrUqtWvXzjXOycmJ8uXLExERkaMyMSIigvr16+c5d+3atVmxYgUeHh5YWf21n69mzZqcO3eOo0eP8uyzz+b5jtjYWKpUqfLAc5pMphxLoLVnooiIiEjByqt5jCotRUREpKh56vZMvKtnz56sXbuW8PBwevbsme+4oKAgJk2axDfffEN8fDzvv/8+0dHRDB06NM/x7777LlevXqV79+5ERUVx4sQJNmzYQN++fcnMzHyg2Jo2bcpLL71Ely5d2LhxI6dOnWLdunWsX78egBEjRvDrr78yaNAgoqOjOXbsGKtXr2bQoEH5zqk9E0VEREREREREpLA9lZWJAC+//DIlSpQgPj6eHj165DtuyJAhJCcn895773Hp0iW8vb354Ycf8PLyynP83UrGESNG0LJlS0wmExUrVqR169ZYWDx4bnbFihUMGzaM7t27k5aWRpUqVZg4caI5ptdee42jR4/SpEkTsrOz8fT0pFu3bvnOpz0TRURERERERESksBmy73b2kMfG1atXsba2xtHREQ8PDwICAggICPhTc6SkpODs7ExycjJOTk6FFKmIiIiIiIiIiDzuCjJP9NRWJj7JSpQo8ahDEBERERERERERyUWViY8hPz8/fHx8iI6OZtu2bTnu5ffPlVcDFjc3N1UmioiIiBSivJqy5EWN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Q4fy1ltv4erqyoIFC1i+fDne3t5MnDgxV8WhjY0NwcHB1KxZk5deeglLS0uWLVuW53tsbW3JyMjAy8uLf//733Tr1s18fd68eQQFBQHQtGlT2rVrR7Vq1XBzc8Pa2pq33nqLGjVqmOeqXLmyuav0zz//DNxZRt2jRw+uXr1Keno6ffv2ZcmSJbi7u+Pn55dnTMHBwSQnJ5uPs2fP/p2fUkREREREREREJBdDdnZ29qMO4klz4MABatWqRUJCAhUrVjRf79SpE8WLF6d37940a9aMChUqUL9+fb799lssLS1Zt24dHTp0YNOmTfz444/89NNPXLhwgfT0dEwmE506deLbb78FYP/+/dStWxdLS0vOnj1LixYt6Nq1KyNHjnygGFNSUnB2diY5OVn7J4qIiIiIiIiIFGEFmSd6qioTHzft2rVj+/btxMbGAnDixAnKlStHREQE4eHhvP/++2zZsoXo6GhatWplbtBiMplwdXXF3t4eb29vzp07x+HDh+nTpw8ZGRmP8pNERERERERERKQIe6oasDwsnp6e2NjYEBERYa5MvH37NlFRUQQEBJjHTZw4EQcHB1555RUaNWrE6tWrgTtLku3t7enatStBQUF8/fXXXLlyheLFixMVFcXhw4fp378/pUqVIiYmhpCQEOzt7alSpQo///xznkud1YBFRERE5OH7K41c1LRFREREnmSqTPwL7O3teeeddwgKCmL9+vXExsbSvn17zp8/z+uvv55j7NSpU+nZsyf/+c9/aN68OQaDgbfeegsXFxd69erFsmXLqFOnDvb29tjb29OqVStee+01MjMzmTdvHgBr165l8ODBxMXFUbNmzTxjUgMWEREREREREREpbKpM/IsmTpxIVlYWvXr14vr163h5eQHg4uKSa+z06dPJzMxk7ty5ZGdnExoayoULF1i+fDlOTk7Uq1ePMmXKkJSUxN69e81NXBwcHABwcHBg1KhRGI3GfOMJDg4mMDDQfJ6SkqKEooiIiIiIiIiIFCg1YCkgW7dupVmzZiQlJeWZUATo0aMHy5YtIysr675NXMLDw81z9u3bl/DwcODOcmpra+v7xqMGLCIiIiIiIiIiAmrA8siYTCaGDBlC6dKlsbW15cUXXyQqKirf8QsWLMDd3Z1ixYrRqVMn0tLSco35+eefqV27Nra2tlSuXJkjR46QlZVFUlIS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iIigPRMLRXh4OG3atLnjep8+fVi7di2XLl3Ktp+/vz9VqlRh7ty5d9zLbmaih4eH9kwUERERERERESni8nPPRFVzLgR+fn4YhnHHMXXqVC5dusSOHTss12bMmEGJEiVYsmQJ27dvp1+/ftk+09HRERcXlyyHiIiIiIiIiIhIflIysRB4eXkxc+bMLNd8fHz4+OOPcXJyokWLFsydO5dOnToRHByMvb09vXr1om3btjRt2rSQohYRERERERERkaJOeyY+QOzs7BgyZAhTpkxh+PDhjBkzhpdffplJkyaRkJBAeHg40dHRlj0U/0oFWEREREQK3t0Ktqg4i4iIiDyMNDPxAXO74nOxYsX4z3/+w6hRo/D396dRo0aYzWY6d+6c7Z6KoaGhmM1my+Hh4VHQoYuIiIiIiIiIyENOMxMfMDY2t/K7M2bMoE+fPgD07NmTEiVK4OLiwpYtW7LtFxwcTFBQkOX8dgEWEREREbEezT4UERGRokbJxEJgY2PD34top6en59j+3XffpXHjxjRp0iTHNo6Ojjg6OuZbjCIiIiIiIiIiIn+nZc6FwM3NjbNnz1rOk5KSOHHiRJY2u3btsvy5Xr162NnZYTKZCixGERERERERERGRv9PMxELQtm1bwsLC6NKlC66urowfPx5bW9ssbb799lsaN27M448/zuLFi0lJSeHatWs5PlMFWERERESs7+8FV7TMWURERIoazUwsBMHBwbRu3Zqnn36azp07ExAQQLVq1bK0CQkJYenSpTRo0ICvvvqK0aNHc/jw4SwJw79SARYREREREREREbE2k/H3zfuk0JlMJlauXElAQIDl2q+//krDhg05efIknp6ed/TJbmaih4cHiYmJuLi4FEjcIiIiIiIiIiLy4ElKSsJsNudLnkjLnP8lnJycAEhJScn2vgqwiIiIiIiIiIiItSmZ+C8RHx8P3CreIiIiIiKFQ3smioiISFGnZOIDKLuV54cPH6ZSpUqULVs22z4qwCIiIiIiIiIiItamAiz/Elu3bqVDhw453lcBFhERERERERERsTYVYPkXuH79Ou7u7vz000889thj2bZRARYREREREREREcmOCrAUMQsWLKBp06Y5JhJBBVhERERERERERMT6lEwsRD/99BP/+c9/OHz4MLa2tjRv3pxZs2ZRrVo1bty4QVBQEN999x2XLl3Czc2N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vvvuO7y8vLCzy/1fjwqwiIiIiBS8vxdgURETERERedgVuQIs1jR06FAuX75M9erVWb9+PQEBAff8jEGDBhEfH0+vXr3Ys2cPsbGxrFu3jn79+nHz5s0c+6kAi4iIiIiIiIiIWJtmJlpJ69atCQ0NxcfH5576VahQge3btzNq1Cg6dOhAWloa6enptGjRAhubnHO/KsAiIiIiUvA0E1FERESKGiUTrSA8PNzy55MnT2a5l129m4SEhCzn3t7erFixwnLu5eXFs88+i8lkyvGdjo6OODo65i1gERERERERERGRXNAyZysJDAy0LHP28vJi5syZWe77+PgwceJE4FaCceLEiVSuXBlHR0cqVKjA22+/DYCfnx+nTp1i2LBhmEymuyYURURERERERERErEkzEx8A3333HTNmzGDp0qXUrVuXc+fOcfDgQQBWrFhBw4YNGThwIAMGDMjxGSrAIiIiIlLw/lqARUueRUREpChQMvEBEBcXh7u7O+3atWPAgAEkJCSwatUqAEqXLo2trS1Hjx6lfPny2S6ThlsFWEJCQgoybBERERERERERKWK0zPkB0KNHD1JTU6latSqGYdC9e3cyMjKAW8uc4+PjuXz5Mq1bt87xGcHBwSQmJlqO06dPF1T4IiIiIkXWySmdLYeIiIhIUaBkYgGwsbG5Y0Zhenq65c8eHh5ER0fz6aefYjabGTFiBE888USWNseOHeODDz7I8R2Ojo64uLhkOURERERERERERPKTkokFwM3NjbNnz1rOk5KSOH78OJ9++ilOTk6UKVOGLl260LZtW5KSkqhTpw47d+7kueee4+eff+bq1avExcXRrFmzO6pDi4iIiIiIiIiIFBTtmVgA2rZtS1hYGF26dMHV1ZWRI0dy48YNfH19+eyzz/jf//7HsWPHOHLk/qMSVAAAIABJREFUCFevXuWPP/7AycmJ2bNnc/nyZeLi4qhXrx6hoaE4OTll+w4VYBEREREpeH8twHI3WgYtIiIiDwvNTMwDPz8/hg4dmuv2wcHBtG7dmqeffprOnTvz2GOPAVC7dm28vLyoV68ex48fp3379qxevZqTJ0/i6+tLlSpVcHBwoGXLlpw9e5bmzZvj7u6e7TtCQ0Mxm82Ww8PDI1++VURERERERERE5DbNTLSStLQ0nJ2dAXBxcWHp0qWWezdv3mTr1q18+eWXnDlzhg4dOvDjjz9SqlQpAgMD2bx5M25ubpb25cuX55tvvrnr+4KDgwkKCrKcJyUlKaEoIiIiYmWacSgiIiJFjWYm5rOMjAyioqLYuXMndevWzbaNra0tGzZs4Mcff6ROnTrMmTOHmjVrcuLEiTy/VwVYRERERERERETE2jQzMY8yMjIYPHgwixYtwt7enjfeeIP33nuPw4cP06xZM4oVK8bkyZOZNWsWbdu2ZebMmZQrV87SPyoqitDQUH755RcyMzNJT09n/vz5d7zHwcGBP//8Ezc3N4YPH86oUaMK8jNFRERE5C5yu2diftJsSBERESlMmpmYRwsXLsTOzo7du3cza9YsPvroIz7//HN8fHyYO3cuS5cu5ddff2XVqlWcPHmSwMBAS98ffviBJk2akJKSwtdff83kyZPJzMykSpUqd7zHwcGBFStWMGzYMPr3709mZma28aSlpZGUlJTlEBERERERERERyU8mwzCMwg7i38bPz48LFy5w5MgRTCYTAKNHj2b16tVERUXd0T4yMpImTZpw9epVnJ2dGThwIP/73/9wdnYmKSkJT09P3nrrLQYPHmzZM7FRo0b07duXl156iYoVK/LHH3+QmprKiRMn8PLyuuMdEydOJCQk5I7riYmJWvIsIiIiYiWamSgiIiL/BklJSZjN5nzJEymZmAd+fn5UrVqVL7/80nLt+++/p3v37ly/fp0DBw4wceJEDh48yJUrV8jMzCQlJYUjR45Qp04dnnrqKdzc3Fi4cGG2zw8MDGTdunVcvHiR5cuXExAQ8I8xpaWlkZaWZjm/XYBFyUQRERERERERkaItP5OJWuacz65fv46/vz8uLi4sXryYPXv2sHLlSgBu3LgBgJOT0z8+p1q1atSqVYsvv/yS9PT0f2yvAiwiIiIiIiIiImJtKsCSRxEREVnOd+3ahbe3N8eOHePy5ctMmTIFDw8P4NYy579q0KABCxcuJD09HXt7+2yfX7ZsWVasWIGfnx/PP/88y5Yty7EtZD8zUURERESsqzCWOecnLZkWERGRe6WZiXkUFxdHUFAQ0dHRLFmyhDlz5jBkyBAqV66Mg4MDc+bM4ffff2f16tVMmjQpS9/BgweTlJREz549iYyMJCYmhkWLFhEdHZ2lXbly5di8eTPHjh2jV69eZGRk5BhPaGgoZrPZctxOZIqIiIiIiIiIiOQXJRPzqE+fPqSmptK0aVMGDRrEkCFDGDhwIG5uboSFhfHtt99Sp04dpkyZwrRp07L0LVOmDJs3byY5OZnWrVvz6KOPMn/+/GxnHrq7u7N582YOHTpE7969uXnzZrbxBAcHk5iYaDlOnz5tle8WEREREREREZGiSwVYHlL5ubGmiIiIiIiIiIj8e6kAywPCz8+PwYMHM3jwYMxmM2XLlmXcuHHczs8uWrSIxo0bU7JkSdzd3XnxxRe5cOGCpf+VK1fo3bs3bm5uODk54e3tzYIFC4BbxVoGDx5M+fLlKVasGJ6enoSGhhbKd4qIiIiIiIiIiIAKsNy3hQsX0r9/f3bv3k1kZCQDBw6kcuXKDBgwgPT0dCZNmkTNmjW5cOECQUFBBAYGsnbtWgDGjRtHVFQUP/74I2XLluX48eOkpqYCMHv2bFavXs2yZcuoXLkyp0+fvuvSZRVgEREREbGu7IqtqICJiIiIFDVKJt4nDw8PZsyYgclkombNmhw6dIgZM2YwYMAAXnnlFUu7qlWrMnv2bJo0aYLJZOLKlSvExcXh6+tL48aNAfDy8rK0j4uLw9vbm8cffxyTyYSnp+dd4wgNDSUkJMQq3ygiIiIiIiIiIgLaM/G++Pn5UbVqVb788kvLte+//57u3btz/fp1Dhw4QIcOHbhx4wYAmZmZpKSkALeWOO/cuZNu3bpRo0YNOnToQEBAAC1atABg3759tG/fnjJlytCxY0ccHByYPn06Of11ZTcz0cPDQ3smioiIiIiIiIgUcdoz8V/g+vXr+Pv7Y2dnR8eOHdmzZw8rV67M0qZTp06cOnWKYcOG8eeff/Lkk08yfPhwABo1asSJEyeYNGkSqampfPzxx5QtWzbH9zk6OuLi4pLlEBERERERERERyU9KJt6niIiILOe7du3C29ubY8eOcfnyZS5cuMDy5cupXbs2/v7+lnZ79+6lcePGeHp68tlnnzFu3DhmzpzJvHnzgFszHP38/Ojbty+bNm3C2dmZS5cuER8fX6DfJyIiIiIiIiIicpv2TLxPcXFxBAUF8dprr7Fv3z7mzJnD9OnTqVy5Mg4ODpQtW5ZWrVrRqVMnJk2aRGxsLABjx46lbt26BAYGsnDhQnr27EmlSpWoXbs2W7du5YUXXqBfv35MnTqVP/74g7fffhtnZ2dcXV2zjUMFWERERETyLrviKrmhAiwiIiJS1CiZeJ/69OlDamoqTZs2xdbWliFDhjBw4EBMJhNhYWG88sorLF++nLi4OGbMmMEzzzwDwOTJk9m5cyeffvopv//+O2lpaVSqVImlS5cyYMAAnnrqKXbt2sWiRYuwtbXF09OT8+fPY2OT/WRSFWARERERERERERFrUwGW++Dn54ePjw8zZ87MdZvw8HDatGnDhQsXcHNzA2D//v00atSIU6dOUblyZdzc3EhOTsbW1tbynJs3b3L9+nWuXbtG8eLF73iPCrCIiIiIiIiIiEh28rMAi2YmFhJ7e3vLn00mEwDp6elkZmaSnJxMSEgIzz333B39ihUrlu3zHB0dcXR0tE6wIiIiIiIiIiIiPMQFWPz8/Bg8eDCDBw/GbDZTtmxZxo0bx+2JmFeuXKFPnz6UKlWK4sWL06lTJ2JiYiz9w8LCcHV1ZdWqVXh7e1OsWDH8/f05ffp0lvf8/vvvNGnShGLFilG2bFmeffZZy70rV67w22+/MXfuXMs7/vjjjzveER4eDkCNGjWIi4vDMAyWLVvG+++/j6+vL23btmXz5s1Ur149x2XOIiIiIiIiIiIi1vZQZ6YWLlyInZ0du3fvZtasWXz00Ud8/vnnAAQGBhIZGcnq1avZuXMnhmHw1FNPkZ6ebumfkpLC5MmT+eqrr9i+fTsJCQn07NnTcn/EiBGsXbuWp556iv3797Np0yaaNm1quR8YGEhqaipVq1Zl+fLlpKWlMWrUqCwxpqSkEBYWBsD69espV64cZrOZvXv3cv78eZYtW0b37t15/fXXeeONN3L81rS0NJKSkrIcIiIiIpJ/vEavueMQERERKWoe6mXOHh4ezJgxA5PJRM2aNTl06BAzZszAz8+P1atXs337dlq0aAHA4sWL8fDwYNWqVfTo0QO4tez4448/plmzZsCt5GTt2rXZvXs3TZs2ZfLkyfTs2TNL4ZOGDRsCEBMTw+rVq1myZAmzZs2ie/fupKamZlnefPsdwcHB9OzZk2rVqlG8eHGcnJxo27YtCQkJdOvWDXt7e2xtbbl69WqO36oCLCIiIiIiIiIiYm0PdTLxscces+xHCNC8eXOmT59OVFQUdnZ2liQhQJkyZahZsyZHjx61XLOzs6NJkyaW81q1auHq6srRo0dp2rQpBw4cYMCAAdm+++jRo9jZ2dGjR48ssxl9fX159tlncXV1BcDBwYHnn3+eF154wdLmxo0bxMbGcvHiRZydnXniiSf47bffqFGjRo7fGhwcTFBQkOX8dgEWEREREckfJ6d0LuwQRERERArdQ51MtDYnJ6d8ecZfE54AFy9epFq1akRGRpKZmUl4eDgxMTFkZmbm+BwVYBEREREREREREWt7qJOJERERWc537dqFt7c3derUISMjg4iICMsy58uXLxMdHU2dOnUs7TMyMoiMjLTsgxgdHU1CQgK1a9cGoEGDBmzatIl+/frd8e7atWvn6h05adCggeU9devWZf78+Xn4CYiIiIjI3+XnXoearSgiIiJFzUNdgCUuLo6goCCio6NZsmQJc+bMYciQIXh7e9O1a1cGDBjAtm3bOHjwIC+99BIVK1aka9eulv729va89dZbREREsHfvXgIDA3nssccsycUJEyawZMkSJkyYwNGjRzl06BBTp04FyPU7slO8eHE2bNjAyZMnc/2tKsAiIiIiIiIiIiLW9lAnE/v06UNqaipNmzZl0KBBDBkyhIEDBwKwYMECHn30UZ5++mmaN2+OYRisXbs2S4GU4sWLM2rUKF588UVatmyJs7Mz33zzjeW+n58f3377LatXr8bHx4e2bduye/du4FYl5xs3bvzjO/5u4cKFJCcn07JlS1q3bk1UVJTl3o4dO6hXr162/UJDQzGbzZZD+yWKiIiIiIiIiEh+MxmGYRR2ENbg5+eHj48PM2fOzFP/sLAwhg4dSkJCQp76JyYmYhiGpdBKbmRmZlKxYkXGjRvHm2++yRdffMGoUaOwt7dn1KhRHDhwACcnJ+bOnXtH37S0NNLS0izntwuwJCYm4uLikqdvEBERERERERGRf7+kpCTMZnO+5Ike6j0TC5PZbL7nPhcuXODcuXP4+voC0L9/f65evUpQUBD79u1j5cqVbNq0Kdu+KsAiIiIiIiIiIiLWpmSilQQGBpKQkMCqVavw8vJi6NChDB061HLfx8eHgIAAJk6ciGEYhISE8MUXXwDg7+9PYGAgs2fPZtWqVRiGwaJFiwBo1qwZ2U0mzW5mooiIiIhYV34Wc8kNFXwRERGRwvbQ7pkYHh6e5yXO8P+SgQXhu+++Y8aMGcybN48333yTGzducPHiRWJiYhgxYgROTk44ODjg6urK1q1bs32G9kwUERERERERERFre2iTiQ+S5ORkgoODc7wfFxeHu7s77dq1Y86cOcyaNYvDhw/ToEEDXn/9dezs7Bg3bhzNmjUjMDCQS5cu3fGM4OBgEhMTLcfp06et+UkiIiIiIiIiIlIEaZlzAShRogRDhgzJ8X6PHj2YOXMmVatWpWPHjjz11FPs378fO7tbfz1eXl44Ozvz008/5fgM7ZkoIiIiUvC07FhERESKGs1MLAC2trY4OztnuZaenm75s4eHB9HR0Xz66ac4OTnx5ptv8sQTT2RpIyIiIiIiIiIiUtg0MzEXMjMzmTp1KvPmzePcuXPUqFGDcePG0b17d8LDw2nTpg0bN25k1KhRREVF4ePjwyOPPGLpbzKZGD16NMOGDQNuFUeJiYlh1qxZvP/++1SpUoV3332Xl19+mS5dunDmzBlWrFjBoUOHaNSoEQ4ODty4cYNy5coRGhpK//7974hRBVhERERECl5BF2AR69EsUxERkdzRzMRcCA0N5auvvuK///0vR44cYdiwYbz00kv8/PPPljZjx45l+vTpREZGYmdnx/bt2y33atWqRXp6Olu3buXQoUO0b9+e9PR0WrRoweHDh/H19aVv3758+eWX/P7775QsWRLAsmzZy8uL5cuXk5yczJNPPpljjCrAIiIiIiIiIiIi1mQyDMMo7CAeZGlpaZQuXZqNGzfSvHlzy/VXX32VlJQUBg4caJmZeDvRt3btWjp37szTTz/NDz/8wNy5cxkyZAhOTk6YzWYcHR2Jj4/nrbfeYuLEiaxatYr+/fuTlJSEo6Mj9evX588//2TQoEGMHDmSXbt24e/vT3JyMpmZmWT3V5bdzEQPDw8SExNxcXGx/g9KREREREREREQeSElJSZjN5nzJE2mZ8z84fvw4KSkptG/fPsv1Gzdu4Ovrazlv0KCB5c/ly5cHsBRQcXJyonjx4iQkJABQunRpZsyYQd++fQEICAjg1KlTzJo1i99//x2AGTNmMG/ePEaOHEmVKlVISUkhPDycVq1aZRunCrCIiIiIiIiIiIi1KZn4D5KTkwFYs2YNFStWzHLP0dGR2NhYAOzt7QHIyMiwJAS9vb3z/N4+ffowevRodu7cyY4dO6hSpUqOiUQREREREREREZGCoGTiP6hTpw6Ojo7ExcXRunXrO+7fTibedvjwYV566SUAevfune0za9euzfbt2y0zEwG2b99OnTp1LOdlypQhICCABQsWsHPnTvr163fXOFWARURERB52D2KxExXtEBERkaJGycR/ULJkSYYPH84rr7xCnz59APj666+5dOkSLi4ueHp6Zmnv4+PDzp078fX1xWw2Z/vMESNG8Pzzz+Pr60u7du344YcfWLFiBRs3bszS7tVXX6Vz586kp6czZswYIiIiWLVqVbbPDA0NJSQkJB++WEREREREREREJHsqwJILhmHg7e3NpUuXSElJwdXVlUaNGvH444/z9ddfc/ToUUqUKIGnpyft27cnMDAQX19fPvzwQ0aMGHHH8xwdHZkxYwbTpk3j5MmTZGZmAreWSleuXJk+ffowZswYbG1tqVKlCtWrV6dMmTKkpaXlmExUARYREREREREREclOfhZgscmnmB5qJpOJSpUqERgYyI0bN7hw4QIjRozgvffeo1+/fhw7dox9+/YxefJk0tPT8fHxwTAMypYti4uLC1OnTqV8+fKcPXuWs2fPcurUKd544w1iY2N5+eWX6dixI2fPniUmJoZ33nmHiRMn8uGHH3Lt2jWuXLnCm2++iZOT011jdHR0xMXFJcshIiIiIiIiIiKSn7TMOY9++OEHWrZsmWXmYY0aNQgICMjSzjAMtm/fTv369XF3d8/2WY6OjpZ7b7zxBitWrOC7774jISEBV1dXnnnmGVavXm29jxEREREREREREckFJRPzyN3dna+//prDhw9Tr169HNslJydz6tQpwsLC7un5e/fu5fz584SFhWFnZ8fRo0ctVaKzowIsIiIiIiIiIiJibVrmnEdvvfUWTZo0oX79+nh5edGzZ0++/PLLLAk9uDUz8fjx4zz++OM4Ozvj7OxMp06dsn2mYRhs3LiRrVu3Mnz4cE6fPs2TTz4J3EoWXrt2Lcd4QkNDMZvNlsPDwyP/PlZERERERERERATNTMyzEiVKsGbNGmJjY9myZQu7du3inXfeYdasWezcuZPixYsDt6pB79u3L0vfv+9/+H//9384OzuTnp5OZmYmL774IhMnTszSxsfHBy8vrxzjCQ4OJigoyHKemJhI5cqVNUNRRERERERERKSIu50fyo86zEom3qdq1apRrVo1Xn31VcaOHUuNGjX45ptv6NevHwA2NjZUr179rs9o06YNc+fOxcHBgQoVKmBnd+9/LY6Ojjg6OlrObw8SzVAUERERERERERGAq1evYjab7+sZSibmIy8vL4oXL37X5cjZKVGixD8mHO9VhQoVOH36NCVLlsRkMuXrswtKUlISHh4enD59WtWp5a40ViQ3NE4ktzRWJLc0ViS3NFYktzRWJDc0TiS3/jpWSpYsydWrV6lQocJ9P1fJxDyaOHEiKSkpPPXUU3h6epKQkMDs2bNJT0+nffv2lnaGYXDu3Lk7+pcrVw4bG+ttWWljY0OlSpWs9vyC5OLiol+QkisaK5IbGieSWxorklsaK5JbGiuSWxorkhsaJ5Jbt8fK/c5IvE3JxDxq3bo1n3zyCX369OH8+fOUKlUKX19f1q9fT82aNS3tkpKSKF++/B39z549i7u7e0GGLCIiIiIiIiIicl+UTMyjNm3a0KZNm7u2CQwMJDAw8K5twsLC8i8oERERERERERERK7Kd+PeywZKtsLAwVqxYwdSpU+nSpQuPPPJIgbx369at1K1bl/3791OjRg169uxZIO99UNja2uLn55enojRStGisSG5onEhuaaxIbmmsSG5prEhuaaxIbmicSG5ZY6yYjPyoCV0EnDlzhtTUVAAqV66Mg4NDgbw3NTWVM2fOAODs7Kyl0SIiIiIiIiIiUmiUTBQREREREREREZFcsV45YREREREREREREXmoKJkoIiIiIiIiIiIiuaJkooiIiIiIiIiIiOSKkokiIiIiIiIiIiKSK0omygMlPj6e3r174+LigqurK/379yc5OTlXfQ3DoFOnTphMJlatWmXlSKUw5WWcvPbaa1SrVg0nJyfc3Nzo2rUrx44dK6CIpbDc61iJj4/nrbfeombNmjg5OVG5cmXefvttEhMTCzBqKQx5+b0yb948/Pz8cHFxwWQykZCQUEDRSkH65JNP8PLyolixYjRr1ozdu3fftf23335LrVq1KFasGPXr12ft2rUFFKkUtnsZK0eOHKFbt254eXlhMpmYOXNmAUYqhelexsn8+fNp1aoVpUqVolSpUrRr1+4ffwfJw+NexsqKFSto3Lgxrq6ulChRAh8fHxYtWlSA0Uphutd/V7lt6dKlmEwmAgIC7vmdSibKA6V3794cOXKEDRs28H//93/88ssvDBw4MFd9Z86ciclksnKE8iDIyzh59NFHWbBgAUePHmXdunUYhkGHDh24efNmAUUtheFex8qff/7Jn3/+ybRp0zh8+DBhYWH89NNP9O/fvwCjlsKQl98rKSkpdOzYkTFjxhRQlFLQvvnmG4KCgpgwYQL79u2jYcOG+Pv7c+HChWzb79ixg169etG/f3/2799PQEAAAQEBHD58uIAjl4J2r2MlJSWFqlWrMmXKFNzd3Qs4Wiks9zpOwsPD6dWrF1u2bGHnzp14eHjQoUMHzpw5U8CRS0G717FSunRpxo4dy86dO/n111/p168f/fr1Y926dQUcuRS0ex0rt508eZLhw4fTqlWrvL3YEHlAREVFGYCxZ88ey7Uff/zRMJlMxpkzZ+7ad//+/UbFihWNs2fPGoCxcuVKa4crheR+xslfHTx40ACM48ePWyNMeQDk11hZtmyZ4eDgYKSnp1sjTHkA3O9Y2bJliwEYV65csWaYUgiaNm1qDBo0yHJ+8+ZNo0KFCkZoaGi27Z9//nmjc+fOWa41a9bMeO2116wapxS+ex0rf+Xp6WnMmDHDmuHJA+J+xolhGEZGRoZRsmRJY+HChdYKUR4Q9ztWDMMwfH19jXfffdca4ckDJC9jJSMjw2jRooXx+eefG3379jW6du16z+/VzER5YOzcuRNXV1caN25sudauXTtsbGyIiIjIsV9KSgovvvgin3zyif7LbhGQ13HyV9euXWPBggVUqVIFDw8Pa4UqhSw/xgpAYmIiLi4u2NnZWSNMeQDk11iRh8uNGzfYu3cv7dq1s1yzsbGhXbt27Ny5M9s+O3fuzNIewN/fP8f28nDIy1iRoic/xklKSgrp6emULl3aWmHKA+B+x4phGGzatIno6GieeOIJa4YqhSyvY+W9996jXLly97X6SslEeWCcO3eOcuXKZblmZ2dH6dKlOXfuXI79hg0bRosWLejatau1Q5QHQF7HCcCnn36Ks7Mzzs7O/Pjjj2zYsAEHBwdrhiuF6H7Gym2XLl1i0qRJud5uQf6d8mOsyMPn0qVL3Lx5k0ceeSTL9UceeSTHcXHu3Ll7ai8Ph7yMFSl68mOcjBo1igoVKtzxHy3k4ZLXsZKYmIizszMODg507tyZOXPm0L59e2uHK4UoL2Nl27ZtfPHFF8yfP/++3q1koljd6NGjMZlMdz3yWghj9erVbN68WZtWPwSsOU5u6927N/v37+fnn3+mRo0aPP/881y/fj2fvkAKSkGMFYCkpCQ6d+5MnTp1mDhx4v0HLgWuoMaKiIiItU2ZMoWlS5eycuVKihUrVtjhyAOoZMmSHDhwgD179jB58mSCgoIIDw8v7LDkAXL16lVefvll5s+fT9myZe/rWVqzJVb3zjvvEBgYeNc2VatWxd3d/Y5NQjMyMoiPj89x+fLmzZuJjY3F1dU1y/Vu3brRqlUr/fL8F7HmOLnNbDZjNpvx9vbmscceo1SpUqxcuZJevXrdb/hSgApirFy9epWOHTtSsmRJVq5cib29/f2GLYWgIMaKPLzKli2Lra0t58+fz3L9/PnzOY4Ld3f3e2ovD4e8jBUpeu5nnEybNo0pU6awceNGGjRoYM0w5QGQ17FiY2ND9erVAfDx8eHo0aOEhobi5+dnzXClEN3rWImNjeXkyZN06dLFci0zMxO4tSonOjqaatWq5erdSiaK1bm5ueHm5vaP7Zo3b05CQgJ79+7l0UcfBW4lCzMzM2nWrFm2fUaPHs2rr76a5Vr9+vWZMWNGlv+ByIPPmuMkO4ZhYBgGaWlpeY5ZCoe1x0pSUhL+/v44OjqyevVq/df/f7GC/r0iDxcHBwceffRRNm3aREBAAHDrX7g3bdrE4MGDs+3TvHlzNm3axNChQy3XNmzYQPPmzQskZikceRkrUvTkdZx88MEHTJ48mXXr1mXZ21ceXvn1OyUzM1P/X+chd69jpVatWhw6dCjLtXfffZerV68ya9ase6sncO+1YkSsp2PHjoavr68RERFhbNu2zfD29jZ69epluf/HH38YNWvWNCIiInJ8Bqrm/NC713ESGxtrvP/++0ZkZKRx6tQpY/v27UaXLl2M0qVLG+fPny+sz5ACcK9jJTEx0WjWrJlRv3594/jx48bZs2ctR0ZGRmF9hhSAvPzz5+zZs8b+/fuN+fPnG4Dxyy+/GPv37zcuX75cGJ8gVrB06VLD0dHRCAsLM6KiooyBAwcarq6uxrlz5wzDMIyXX37ZGD16tKX99u3bDTs7O2PatGnG0aNHjQkTJhj29vbGoUOHCusTpIDc61hJS0sz9u/fb+zfv98oX768MXz4cGP//v1GTExMYX2CFIB7HSdTpkwxHBwcjOXLl2f5d5KrV68W1idIAbnXsfL+++8b69evN2JjY42oqCiWtbWBAAABu0lEQVRj2rRphp2dnTF//vzC+gQpIPc6Vv4ur9WclUyUB8rly5eNXr16Gc7OzoaLi4vRr1+/LP+wPHHihAEYW7ZsyfEZSiY+/O51nJw5c8bo1KmTUa5cOcPe3t6oVKmS8eKLLxrHjh0rpC+QgnKvY2XLli0GkO1x4sSJwvkIKRB5+efPhAkTsh0rCxYsKPgPEKuZM2eOUblyZcPBwcFo2rSpsWvXLsu91q1bG3379s3SftmyZUaNGjUMBwcHo27dusaaNWsKOGIpLPcyVm7/Tvn70bp164IPXArUvYwTT0/PbMfJhAkTCj5wKXD3MlbGjh1rVK9e3ShWrJhRqlQpo3nz5sbSpUsLIWopDPf67yp/lddkoskwDCP38xhFRERERERERESkqFI1ZxEREREREREREckVJRNFREREREREREQkV5RMFBERERERERERkVxRMlFERERERERERERyRclEERERERERERERyRUlE0VERERERERERCRXlEwUERERERERERGRXFEyUURERERERERERHJFyUQRERERERERERHJFSUTRUREREREREREJFeUTBQREREREREREZFc+f8ADpY6qxAgG20AAAAASUVORK5CYII=\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "table.iloc[::-1].plot(x=\"tokens\",y=\"score\",kind=\"barh\",figsize=(15,15))"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "5I9SdaWY50e0",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 239
+        },
+        "outputId": "32a01ea5-c401-4e84-9ccc-87a82f90b75a"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<IPython.core.display.HTML object>"
+            ],
+            "text/html": [
+              "<table width: 100%><div style=\"border-top: 1px solid; margin-top: 5px;             padding-top: 5px; display: inline-block\"><b>Legend: </b><span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(0, 75%, 60%)\"></span> Negative  <span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(0, 75%, 100%)\"></span> Neutral  <span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(120, 75%, 50%)\"></span> Positive  </div><tr><th>True Label</th><th>Predicted Label</th><th>Attribution Label</th><th>Attribution Score</th><th>Word Importance</th><tr><td><text style=\"padding-right:2em\"><b>1</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_1 (0.99)</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_1</b></text></td><td><text style=\"padding-right:2em\"><b>1.87</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(120, 75%, 90%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> this                    </font></mark><mark style=\"background-color: hsl(120, 75%, 93%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 91%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 84%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> latest                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> entry                    </font></mark><mark style=\"background-color: hsl(120, 75%, 90%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> in                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> long                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> series                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(120, 75%, 90%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> films                    </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> with                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> french                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> agent                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> o                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> 117                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> (                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> french                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> answer                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> to                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> james                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> bond                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> )                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 91%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> series                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> was                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> launched                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> in                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> early                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> 1950                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> and                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> spawned                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> at                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> least                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> eight                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> films                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> (                    </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> none                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> which                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> was                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ever                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> released                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> in                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> u                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> )                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> o                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> 117                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> :                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> cairo                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> nest                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> spies                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> bree                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##zy                    </font></mark><mark style=\"background-color: hsl(0, 75%, 91%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> little                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> comedy                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> that                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> should                    </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> not                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> repeat                    </font></mark><mark style=\"background-color: hsl(120, 75%, 82%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> not                    </font></mark><mark style=\"background-color: hsl(0, 75%, 93%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> be                    </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> taken                    </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> too                    </font></mark><mark style=\"background-color: hsl(0, 75%, 85%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> seriously                    </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> our                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> protagonist                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> finds                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> himself                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> in                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> middle                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> spy                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> chase                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> in                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> egypt                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> (                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> with                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> mor                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##ro                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##co                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> doing                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> stand                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> in                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> for                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> egypt                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> )                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> to                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> find                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> out                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> about                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> long                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> lost                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> friend                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> what                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> follows                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> standard                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> james                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> bond                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> /                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> inspector                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> cl                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##ous                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##so                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##u                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> kind                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> antics                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> although                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> our                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> man                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> something                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> an                    </font></mark><mark style=\"background-color: hsl(0, 75%, 93%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> over                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##t                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> x                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##eno                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##ph                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##obe                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> sex                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##ist                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> homo                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##ph                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##obe                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> treated                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> as                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> pure                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> far                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##ce                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> (                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> as                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> i                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> said                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> don                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> t                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> take                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> too                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> seriously                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> )                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> although                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> there                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> bit                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> rough                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> language                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> &                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> cartoon                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> violence                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> basically                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> okay                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> for                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> older                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> kids                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> (                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ages                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> 12                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> &                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> up                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> )                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> as                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> previously                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> stated                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> in                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> subject                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> line                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> just                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> sit                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> back                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> pass                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> popcorn                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> &                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> just                    </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> enjoy                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr></table>"
+            ]
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "html = cls_explainer.visualize()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### ▶▶ Exercice : Afficher les attributions pour un exemple mal prédit\n",
+        "\n",
+        "Recommencer les étapes précédentes pour un exemple correspondant à une erreur du système."
+      ],
+      "metadata": {
+        "id": "IMOLP2uCpf2V"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "# ----------------------------------------\n",
+        "# essayons avec une erreur du modèle\n",
+        "ex_eval = small_eval_dataset[32][\"text\"]"
+      ],
+      "metadata": {
+        "id": "udXeK-PoiDIn"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "word_attributions = cls_explainer(ex_eval)"
+      ],
+      "metadata": {
+        "id": "em_SJ6b7igiy"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "49KjhvdWigjG",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        },
+        "outputId": "9cab445c-be31-46eb-de2e-4a7120712fc9"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'LABEL_0'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 75
+        }
+      ],
+      "source": [
+        "cls_explainer.predicted_class_name"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "fwpGOSlgigjG",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "d4661bea-f6bc-4232-f75d-5cdf0960ddda"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "[('[CLS]', 0.0),\n",
+              " ('it', 0.00997485125840792),\n",
+              " (\"'\", -0.0011960924618130801),\n",
+              " ('s', -0.02484496365185836),\n",
+              " ('really', 0.05450772639469681),\n",
+              " ('too', 0.1693489291686765),\n",
+              " ('bad', 0.33626749649572363),\n",
+              " ('that', 0.06318737976390412),\n",
+              " ('nobody', 0.03261308961197194),\n",
+              " ('knows', 0.005303855816857931),\n",
+              " ('about', 0.029553999035701387),\n",
+              " ('this', 0.04004686806146877),\n",
+              " ('movie', 0.025512588172126077),\n",
+              " ('.', 0.041038499475538136),\n",
+              " ('i', 0.011068396879987038),\n",
+              " ('think', 0.028146720318407818),\n",
+              " ('if', 0.021477101084558574),\n",
+              " ('it', 0.00014914261726596374),\n",
+              " ('were', -0.00567254576955546),\n",
+              " ('just', 0.015497223999660182),\n",
+              " ('spruce', 0.010159706643775695),\n",
+              " ('##d', 0.028332601831956156),\n",
+              " ('up', 0.027422879139921745),\n",
+              " ('a', 0.00087932820801858),\n",
+              " ('little', 0.01886903149115137),\n",
+              " ('and', 0.005175342677822439),\n",
+              " ('if', 0.02733892632731568),\n",
+              " ('it', 0.007755316817756009),\n",
+              " ('weren', 0.04298089417331125),\n",
+              " (\"'\", 0.018859773310734056),\n",
+              " ('t', 0.050787131926852094),\n",
+              " ('so', 0.05553958497754069),\n",
+              " ('low', 0.13673863107653814),\n",
+              " ('-', 0.0416350765639359),\n",
+              " ('budget', 0.10994806204401762),\n",
+              " (',', -0.007246986009796167),\n",
+              " ('i', 0.013487925461341161),\n",
+              " ('think', 0.030350778532165137),\n",
+              " ('one', 0.012159452158631647),\n",
+              " ('of', -0.0030130962057012905),\n",
+              " ('the', 0.006326975832121137),\n",
+              " ('major', 0.00604488427560287),\n",
+              " ('film', -0.00464095276011599),\n",
+              " ('companies', 0.022057787178622584),\n",
+              " ('might', 0.045154314595020194),\n",
+              " ('have', 0.044761139300119955),\n",
+              " ('wanted', 0.03361029378815179),\n",
+              " ('to', 0.036790648110021744),\n",
+              " ('take', 0.026636307937107393),\n",
+              " ('it', 0.0070252931208973305),\n",
+              " ('.', 0.01536430861458257),\n",
+              " ('i', 0.0047613468779492745),\n",
+              " ('first', 8.9854554756525e-05),\n",
+              " ('saw', 0.0010597087657416451),\n",
+              " ('this', 0.021116496367893922),\n",
+              " ('movie', 0.010966191264470118),\n",
+              " ('when', -0.022530215323163186),\n",
+              " ('i', 0.004661793025845551),\n",
+              " ('was', 0.05016408524766611),\n",
+              " ('11', 0.00964510672098063),\n",
+              " (',', 0.024415309213925394),\n",
+              " ('and', -0.02712585006488509),\n",
+              " ('i', 0.01904909375957123),\n",
+              " ('thought', 0.06407219962659487),\n",
+              " ('it', -0.02152101886647046),\n",
+              " ('was', -0.25301705643440675),\n",
+              " ('so', -0.1469512922825505),\n",
+              " ('powerful', -0.43469719674250223),\n",
+              " ('with', -0.19513608669711058),\n",
+              " ('the', -0.04114932929553154),\n",
+              " ('many', -0.2551266794511537),\n",
+              " ('great', -0.5560247450475991),\n",
+              " (',', 0.015398227341169156),\n",
+              " ('yet', 0.004639648842885641),\n",
+              " ('illegal', 0.22786950621652902),\n",
+              " ('lengths', -0.02472923987297795),\n",
+              " ('that', -0.02092469859043459),\n",
+              " ('mitchell', 0.010368676402456364),\n",
+              " ('goes', 0.0009493691841507919),\n",
+              " ('to', 0.012580106539646342),\n",
+              " ('just', 0.04047333511717827),\n",
+              " ('to', 0.007598800176683346),\n",
+              " ('keep', 0.014378428233077209),\n",
+              " ('his', -0.05536111333625789),\n",
+              " ('family', -0.019907955085111197),\n",
+              " ('together', -0.07867323795502577),\n",
+              " ('.', -0.017731978189891237),\n",
+              " ('it', -0.004253857535912123),\n",
+              " ('inspired', -0.03656982875330736),\n",
+              " ('me', 0.0037326426681316294),\n",
+              " ('then', 0.016881766027897305),\n",
+              " ('and', 0.0027973916558247354),\n",
+              " ('it', 0.013105652905982803),\n",
+              " ('ama', 0.0019572663087947073),\n",
+              " ('##zes', 0.0264737902955314),\n",
+              " ('me', 0.028004538419757287),\n",
+              " ('now', 0.02190996547285329),\n",
+              " ('.', 0.0403967165370653),\n",
+              " ('if', 0.022904290916493344),\n",
+              " ('you', 0.021358460556148474),\n",
+              " (\"'\", 0.008955238397041536),\n",
+              " ('re', 0.013682323728015113),\n",
+              " ('lucky', -0.0016474382767335451),\n",
+              " ('enough', 0.0383704440194398),\n",
+              " ('to', 0.02128634142903102),\n",
+              " ('find', 0.025820633911726676),\n",
+              " ('a', 0.0096149768603481),\n",
+              " ('copy', 0.019373699127543168),\n",
+              " ('of', -0.001587763390235751),\n",
+              " ('this', 0.05910782671491327),\n",
+              " ('movie', 0.03224039882665543),\n",
+              " (',', 0.027275746273410475),\n",
+              " ('don', 0.04468072810788871),\n",
+              " (\"'\", 0.007965379084890138),\n",
+              " ('t', 0.04785706042932118),\n",
+              " ('miss', 0.07151828048655519),\n",
+              " ('it', 0.04339457154748533),\n",
+              " ('!', 0.005168557160078841),\n",
+              " ('[SEP]', 0.0)]"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 76
+        }
+      ],
+      "source": [
+        "word_attributions"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "1O-1eD6CigjH"
+      },
+      "outputs": [],
+      "source": [
+        "table = pds.DataFrame(word_attributions,columns=[\"tokens\",\"score\"])"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "f4m-PqhaigjH",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 1000
+        },
+        "outputId": "32102722-d11f-471a-9cf4-50cb3dced58f"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "<matplotlib.axes._subplots.AxesSubplot at 0x7f5f9a668eb0>"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 78
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<Figure size 1500x1500 with 1 Axes>"
+            ],
+            "image/png": "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tm3q06ePOnXqpJSUFD366KMymUwaMmSIHA6HduzYoRMnTujxxx+v7j8LAAAAAAAAPJRH3TkYFBSkDRs26JZbblHHjh319NNPKy0tTUOHDpUkDRo0SB06dNDAgQN1//336/bbb1dycvIl133nnXd07tw59erVSwkJCZozZ47L782aNdPf/vY3nTp1SjExMerVq5cWLVrk3EU4btw4vfXWW1q8eLG6deumfv36acyYMWrRokWV/w0AAAAAAACAXxhKf31ZngeLi4vTyZMntWLFikuO/e6773TVVVfpxIkT8vPzU+PGjVVQUKA2bdqUGfvBBx9owYIF2rJli7Zs2aIHH3xQ//jHPy66flZWlm644QadOHFCjRs3rlD8drtdJpNJNptNQUFBFZoDAAAAAACA+qcyeSKP2jlYVbZu3aru3burYcOG2rlzp5o2bXrBxOAvY/v16ydJ2rhxo/MzAAAAAAAA4G4ededgVdmyZYszybdp06aLJvy2bNmipKQk59hbby17MfKaNWuUkJAgq9Wq66+/Xg8//HD1BA4AAAB4CHPSaneHIInCKACA2o9jxRV0+PBhRURESJLOnDkjb29vGY1G/fDDDzIYDPL399eoUaP02muv6c9//rOmTJki6edtnA0bNpS3t7e+//57NWjQQD4+Pnrttdc0atQoWa1WdejQQY888ogmTJigHTt26IknntC333570WPFDodDDofD+d1utyssLIxjxQAAAIBIDgIAPFtljhWzc7CCWrVqpdzcXNntdkVFRWn79u1q2LChIiMjtXr1arVp00aBgYGSpNtvv119+/bV559/rvT0dH3yySfavXu3Jk2apC1btkiSmjdvLkl6/fXXdc011ygtLU2S1KlTJ+3Zs0fPP//8ReNJTU1VSkpKNb4xAAAAAAAA6jvuHKwgHx8fmc1m7du3T71791ZERISOHDmili1bauDAgTKbzc6EX2BgoMxms3bu3Kk77rhDZrNZe/bs0S233CKz2Syz2exMJBYUFOi6665zeVZ0dPQl47FYLLLZbM5mtVqr/qUBAAAAAABQr7FzsIK6dOmif/7znzp79qxKSkoUGBioc+fO6dy5cwoMDFTbtm3197//XYcPH1Z4eLgk6ccff5SPj48yMjLkcDjk5eWlZcuW6cEHH9Qbb7xxRfEYjUYZjcaqeDUAAACg3uE4LwAAFUNy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skUTJkxQaGio7rvvPucaX3zxhUJDQ/XFF1/o66+/1v3336/IyEiNHz/+gu967733qkGDBlq7dq1MJpMWLlyoQYMG6cCBA2ratKkeeOAB9ejRQ6+//rq8vb2Vm5vrUsH4txwOhxwOh/O73W6/gv8EAAAAAAAAPJHbjhV///33Cg4O1iuvvKJx48a5/LZo0SLNmDFDVqtVDRs2lCStWbNGt912m7755hu1bNlScXFxysrK0j/+8Q95ef18deK1116rFi1aaMOGDZJ+3gVoMpn01ltvacSIEc6dg/PmzdOMGTMkSefOnVO7du00depUPfnkkxeMNT4+XkeOHNHy5cslyfnswsJCeXt7S5Luu+8+eXl5admyZZJcdw5u2rRJt956q44ePSqj0ehct3379nryySc1YcIEBQUF6eWXX9bDDz9cob9fcnKyUlJSyvRzrBgAAABg5yAAwLNV5lix2wqSFBQUyOFwaNCgQRf8rXv37s7EoCT169dPJSUl2r9/v7OvS5cuzsSgJLVs2VLdunVzfvf29lazZs109OhRl/Wjo6Odn318fBQVFaWCggJn36uvvqpevXopODhYgYGBevPNN3X48GGXNbp06eJMDEpSaGhomef8Ii8vT6dOnVKzZs0UGBjobIcOHVJhYaEk6fHHH9e4ceN04403at68ec7+8lgsFtlsNmezWq0XHQ8AAAAAAAD8ltuOFTdo0OCK1/jtsVuDwXDBvpKSkgqvuWzZMiUmJiotLU3R0dFq1KiR5s+fr+3bt1/y2eU959SpUwoNDVVWVlaZ3xo3bizp552Ao0aN0urVq7V27Vo9++yzWrZsme66664Lrmk0Gl12IQIAAAAAAACV5bbkYIcOHdSgQQOtX7++zLHizp07KzMzU6dPn3buHty8ebO8vLzUqVOnK372tm3bNHDgQEk/Hyv+6quvFB8f73xO3759NWXKFOf4S+3iu5SePXvqyJEj8vHxkdlsLndcx44d1bFjRz322GMaOXKkFi9eXG5yEAAAAED5OO4LAEDFuO1Ysb+/v2bMmKEnn3xSf/rTn1RYWKht27bp7bff1gMPPCB/f389/PDD2rt3r7744gtNnTpVDz30kFq2bHnFz3711Vf18ccfa9++fXrkkUd04sQJjRkzRtLPScsdO3bo008/1YEDB/TMM88oJyfnip534403Kjo6Wnfeeac+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f39/+fn56cEHH9TKlSv18MMPa+XKlXrooYdUv/65n76srEydOnXSihUrzntvSEjIRTMZjUYZjcaq/VAAAADASzDKDgCAyqE4eAU+/vhjVVRUKCMjQ/XqnRuEuWrVqvPuGzBggO655x59/vnnev/99zVjxgzntY4dO+qtt95S8+bNmQ4MAAAAAACAGsW04itwww036MyZM3r55Zf19ddf64033tCCBQvOu++OO+5QaGioBgwYoFatWumWW25xXhswYICaNWumBx54QDt27NChQ4dksVhkMBi0ePHimvwcAAAAAAAA1DEUB69AbGysXnzxRT3//PO66aab9Nhjj+nBBx887z6DwaD+/fsrPz9fAwYMcLnm7++v7du36/rrr1dSUpKioqI0ZMgQ5zUAAAAAAACgurBbcRUyGAxau3atevfuXeN9ubMLDQAAAAAAALyXO3Uir11zcMOGDXr00Ud17Ngx+fj4KC8vT/Hx8Ro/frxmzZolSRo6dKhOnTqlzMxMjRw5Utu3b1dpaanatGmjZ599Vv3793f2ZzabFRMTowYNGmjx4sXy8/PTH/7wB02dOlWSFBERIUnq06ePJKlly5YqLCyUJK1fv15paWn64osv1KJFCw0aNEgTJ050bkry1VdfaciQIfroo4/UunVrZWZm1syPBAAAAHipiAkbPR3hktgwBQBwtfDaacW33367Tp48qdzcXElSVlaWmjVrJovF4rwnKytLZrNZp06dUqdOnbRx40Z99tlnGj58uAYOHKiPPvrIpc/ly5erUaNGysnJ0QsvvKBp06Zp69atkqQ9e/ZIkpYuXaqSkhLn8Y4dO/TYY4/pmWee0RdffKGFCxdq2bJlmjlzpiSpoqJCSUlJ8vPzU05OjhYsWKDx48dX988DAAAAAAAAeG9x0GQyKS4uzlkMtFgsGj16tHJzc1VWVqbDhw/rwIEDSkxM1LXXXquUlBTFxcWpdevWGjVqlHr06HHezsMxMTGaMmWKIiMj9dhjj6lz587atm2bJCkkJESS1LhxY4WGhjqP09LSNGHCBA0aNEitW7fWPffco+nTp2vhwoWSpPfee09ffvml/vrXvyo2NlZ33HGHnnvuuV/9PrvdLpvN5tIAAAAAAAAAd3htcVCSEhMTZbFY5HA4tGPHDueGHzt37lRWVpZatGihyMhIlZeXa/r06YqOjlZwcLAC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5ebmqlOnTtq+fbvGjRundevWSZIsFouuvfZa3XDDDRd8t91ul91udx7bbLbq+EQAAAAAAAB4MUYOXoHY2Fh169ZN0dHR6tu3rxYtWqTS0lJJ0vfff69hw4YpMjJSJpNJQUFBKisrU1FRkSSpcePGio2NlcVi0aeffio/Pz8NHz5cubm5KisrU1ZWlhITEy/67vT0dJlMJmcLDw+vkW8GAAAAAACA96A4eAV8fHy0detW/etf/1KHDh308ssvq127djp06JAGDRqkvLw8ZWZmateuXcrLy1PTpk11+vRp5/Nms1kWi8VZCAwODlZUVJR27tz5q8XB1NRUWa1WZysuLq6JTwYAAAAAAIAXYVrxFTIYDEpISFBCQoImT56sli1bau3atcrOztYrr7yinj17SpKKi4t19OhRl2cTExO1ZMkS1a9fXz169JB0rmD497//Xfv377/keoNGo1FGo7HavgsAAACozQpn9fJ0BAAAagWKg1cgJydH27Zt07333qvmzZsrJydHP/zwg6KiohQZGak33nhDnTt3ls1m07hx49SwYUOX5++44w6dPHlSGzZs0KxZsySdKw4++OCDCgsLU9u2bT3xWQAAAAAAAKgjmFZ8BYKCgrR9+3b17NlTbdu21aRJk5SRkaGGDRsqNzdXR48eVceOHTVw4EA9/fTTat68ufPZqVOn6s4771R0dLRCQkLUvn17SecKhhUVFZecUgwAAAAAAABUBYPD4XB4OkRtZzabFRcXp3nz5kk6t9PwnXfeqdLSUjVu3PiCz5SVlclut6tp06ZVksFms8lkMslqtSooKKhK+gQAAAAAAEDt406diGnFHhIQEKCAgABPxwAAAAAAAEAdRnHwCg0ePFhZWVnKyspSZmamJGnp0qWSpI8//ljjx4/XF198obi4OC1dulTt2rWTdG5a8bp165SXlyfp3GjDP/3pT/r888/l6+urG2+8UStXrlTLli0982EAAABALRYxYWO1v4NNTwAA3oA1B69QZmamunbtqmHDhqmkpEQlJSUKDw+XJE2cOFEZGRnau3ev6tevryeeeOKCfZw9e1a9e/dWYmKi/v3vf2v37t0aPny4DAbDRd9rt9tls9lcGgAAAAAAAOAORg5eIZPJJD8/P/n7+ys0NFSS9OWXX0qSZs6c6dxYZMKECerVq5dOnTqlBg0auPRhs9lktVp1//33q02bNpKkqKioS743PT1daWlpVf05AAAAAAAAqEMYOViNYmJinH+HhYVJko4cOXLefcHBwRo8eLC6d++u3/72t8rMzFRJSckl+05NTZXVanW24uLiqg0PAAAAAAAAr0dxsBr5+vo6//5linBFRcUF7126dKl2796t2267TW+99Zbatm2rDz/88KJ9G41GBQUFuTQAAAAAAADAHUwrrgJ+fn4qLy+/4n7i4+MVHx+v1NRUde3aVStXrtStt95aBQkBAACAuoXNQgAAqBxGDlaBiIgI5eTkqLCwUEePHr3o6MCLOXTokFJTU7V7925988032rJli7766qtfXXcQAAAAAAAAuBIUB6tASkqKfHx81KFDB4WEhKioqOiS90+dOlULFixwHvv7++vLL7/U73//e7Vt21bDhw/XH//4Rz355JPVHR0AAAAAAAB1mMHhcDg8HaKuKSsrk91uV9OmTausT5vNJpPJJKvVyvqDAAAAAAAAdZg7dSLWHPSAgIAABQQEeDoGAAAAAAAA6rg6Xxw0m82Kjo6Wj4+Pli9fLj8/P82YMUOPPPKIRo4cqdWrV+uaa67Ryy+/rPvuu0+SlJWVpXHjxik/P1/BwcEaNGiQZsyYofr16+u1117T1KlT9e2336pevf/O2n7ggQfUtGlTLVmyRFOnTtW6deuUl5fnvL548WJlZGTo0KFDioiI0NNPP60RI0bU+O8BAAAAeIOICRvdfoZNTAAAdRFrDkpavny5mjVrpo8++kijRo3SU089pb59++q2227TJ598onvvvVcDBw7UTz/9pMOHD6tnz57q0qWL8vPz9eqrr+r111/XjBkzJEl9+/bVsWPH9MEHHzj7P378uDZt2qQBAwZc8P0rVqzQ5MmTNXPmTBUUFOi5557Tn//8Zy1fvvyime12u2w2m0sDAAAAAAAA3EFxUFJsbKwmTZqkyMhIpaamqkGDBmrWrJmGDRumyMhITZ48WceOHdO///1vvfLKKwoPD9f8+fPVvn179e7dW2lpacrIyFBFRYWaNGmi++67TytXrnT2v3r1ajVr1kx33nnnBd8/ZcoUZWRkKCkpSa1atVJSUpJGjx6thQsXXjRzenq6TCaTs4WHh1f57wIAAAAAAADvRnFQUkxMjPNvHx8fNW3aVNHR0c5z11xzjSTpyJEjKigoUNeuXWUwGJzXExISVFZW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wYMKCwvTgAEDdPHiRS1fvlx169bVkSNHZDKZ1LNnz6vOw+FwyOFwOJ/tdrtCQ0NZOQgAAACI5CAAoHYry8rBWpccXmOPZgAAIABJREFUvHz5so4fPy673a7OnTtrz549qlu3riIjI5WWlqamTZvK399fDRs2VEFBgU6dOqXNmzfrxRdf1CeffKKvvvpKEydO1BdffCFJatiwofz9/V3GSE1N1YgRI7R582Z1795deXl5atGihfLy8tS4cWNnu969e+u2227TokWLFBERoSFDhmjevHmlmsf8+fOVmJh4RT3JQQAAAIDkIACgditLcrDWXUji5eUli8Wir7/+Wl26dFFERIROnDihRo0aqWfPnrJYLGrYsKEkyd/fXxaLRfv27dOgQYNksVh08OBB9evXTxaLRRaL5YrE4P79+zVy5Ei9/PLLzm3KBw8eVGFhoVq1aiV/f39nycjIUE5OjiRp6tSpWrhwobp376558+bpq6++uuY8EhISZLPZnKWksxIBAAAAAACAktS6MwfbtWunf/7zn7p06ZKKiork7++vy5cv6/Lly/L391ezZs10+PBh5eXlqW3btpKkCxcuyMvLSytXrpTD4ZCHh4fee+89/eEPf9Brr73m7PvEiRP6n//5H40bN05jx4511hcUFMjT01N79+6Vp6enSzy/JRfHjRune+65R2lpadq0aZOSkpK0fPlyTZky5arzMBqNMhqNFf3PAwAAAAAAgFqk1m0r/i0xePfdd2vp0qW69dZb9cgjjyg2Nlb33nuvvL291axZM12+fFm5ubk6ceKEevfuraysLBUWFioyMlKZmZkKDAyUyWTSTTfdJOnXBGJ0dLRMJpM2bNjgkgT85ptv1Lp1a33++ee68847SxVnQkKC0tLSrruC8DfcVgwAAAAAAACJ24qvqVmzZjpx4oR+/PFHDRo0SAaDQYcPH9aQIUMUEhLibOfl5aWWLVtqz549uv3229WmTRt9/vnnatGihW677bYr+n3sscdktVq1ZcsW/fTTT876wMBAtWrVSiNGjNCjjz6q5cuXKyoqSj/99JO2bNmiiIgI9e/fX3FxcbrvvvvUqlUrnTlzRlu3blV4eHil/JsAAAAAAACgdqp1yUFJSk9PV5cuXeTr66tt27apSZMmLonB/277243BGRkZJd4enJGRofz8fOdW5N9s3bpVMTExSk5O1sKFC/Xkk0/q+++/V8OGDXXHHXdowIABkqTCwkI98cQTOn78uEwmk+69916tWLGiAmcNAAAAAAAAuKp124prKrYVAwAAAAAAQOK2YgAAAAAAAAClUCu3Fd9IMTEx6tChgzw9PbV69Wr5+Pho4cKFGj58uCZPnqwPPvhAjRo10ksvvaT77rtPknTo0CHNmjVL27ZtU926ddW3b1+tWLFCDRs2dPNsAAAAgOrJEp/m7hCUu7i/u0MAAOC6WDl4A6xevVoNGzbUrl27NGXKFD3++ON66KGH1K1bN+3bt099+/bVyJEjdf78eZ09e1a9evVSVFSU9uzZow0bNujHH3/U0KFDrzmGw+GQ3W53KQAAAAAAAEBZcOZgBYuJiVFhYaG2bdsm6deLRsxmsx544AGtWbNGknTixAmFhIToyy+/1ObNm7Vt2zZt3LjR2cfx48cVGhqqo0ePqlWrVlcdZ/78+UpMTLyinjMHAQAAAFYOAgBqN84cdLOIiAjnb09PTzVo0EAdOnRw1jVq1EiSdPLkSR04cEBbt26Vv7+/s7Rp00aSlJOTU+IYCQkJstlszmK1Wm/QbAAAAAAAAFBTcebgDeDt7e3ybDAYXOoMBoMkqaioSAUFBRo4cKCWLFlyRT8hISEljmE0GmU0GisoYgAAAAAAANRGJAfdrFOnTlq3bp0sFou8vPhzAAAAABWBLb0AAJQO24rd7IknntDp06c1bNgw7d69Wzk5Odq4caNGjx6twsJCd4cHAAAAAACAGozkoJs1btxYmZmZKiwsVN++fdWhQwfFxcWpXr168vDgzwMAAAAAAIAbh9uKa4iy3EIDAAAAAACAmqsseSIOuQMAAABQ41ji0yplHM42BABUd+xb/Z1iYmI0depUPfXUUwoMDFRwcLDmz5/vfJ+Xl6dBgwbJ399fJpNJQ4cO1Y8//ihJstls8vT01J49eyT9emtxYGCg7rjjDuf377zzjkJDQyt1TgAAAAAAAKhdSA6Ww+rVq1W3bl3t3LlTS5cu1YIFC/T3v/9dRUVFGjRokE6fPq2MjAz9/e9/1z/+8Q89/PDDkiSz2azIyEilp6dLkg4ePCiDwaD9+/eroKBAkpSRkaHo6OgSx3Y4HLLb7S4FAAAAAAAAKAuSg+UQERGhefPmKSwsTI8++qg6d+6sLVu2aMuWLTp48KDWrl2rW2+9VbfffrvWrFmjjIwM7d69W9KvKw9/Sw6mp6erT58+Cg8P1/bt251110oOJiUlyWw2OwurDAEAAAAAAFBWJAfLISIiwuU5JCREJ0+eVHZ2tkJDQ10Sdm3btlW9evWUnZ0tSYqOjtb27dtVWFiojIwMxcTEOBOGP/zwg44dO6aYmJgSx05ISJDNZnMWq9V6Q+YIAAAAAACAmosLScrB29vb5dlgMKioqKhU3/bs2VO//PKL9u3bp88//1yLFi1ScHCwFi9erI4dO6px48YKCwsr8Xuj0Sij0Viu+AEAAICaiotCAAAoHVYO3gDh4eGyWq0uq/mOHDmis2fPqm3btpKkevXqKSIiQi+//LK8vb3Vpk0b9ezZU/v379cnn3xyzS3FAAAAAAAAQEUgOXgD9O7dWx06dNCIESO0b98+7dq1S48++qiio6PVuXNnZ7uYmBj9+c9/diYCAwMDFR4err/85S8kBwEAAAAAAHDDkRy8AQwGgz766CPVr19fPXv2VO/evdWiRQv95S9/cWkXHR2twsJCl7MFY2JirqgDAAAAAAAAbgRDcXFxsbuDQPnZ7XaZzWbZbDaZTCZ3hwMAAAAAAAA3KUueiAtJAAAAANQ4lvg0d4dQLlyoAgCoLGwrBgAAAAAAAGopVg5WUw6HQw6Hw/lst9vdGA0AAAAAAACqI1YOVlNJSUkym83OEhoa6u6QAAAAAAAAUM2QHKymEhISZLPZnMVqtbo7JAAAAAAAAFQzbCuupoxGo4xGo7vDAAAAAKokLvQAAKB0WDlYRb388su6++673R0GAAAAAAAAajBWDlYBMTExioyM1Isvvqjz589r5MiR+uSTT3Tx4kWdPXtW9erVc3eIAAAAAAAAqIFIDlYBqamp8vb2liStXr1a27Zt0969e9WwYUOZzWY3RwcAAAAAAICaiuRgFRAYGOj8nZOTo/DwcLVv396NEQEAAAAAAKA2IDlYBfy2rTgrK0sZGRmSJIPBoOjoaKWnp7s3OAAAAKAassSnVdpYXH4CAKjOSA5WIampqYqPj9ehQ4eUmpoqHx+fEts6HA45HA7ns91ur4wQAQAAAAAAUINwW3EVEhgYKD8/P/n4+Cg4ONhlu/F/S0pKktlsdpbQ0NBKjBQAAAAAAAA1AcnBaiohIUE2m81ZrFaru0MCAAAAAABANcO24mrKaDTKaDS6OwwAAAAAAABUYyQHAQAAANQ4XBICAEDpsK0YAAAAAAAAqKVIDgIAAAAAAAC1lKG4uLjY3UGg/Ox2u8xms2w2m0wmk7vDAQAAAAAAgJuUJU/EykEAAAAAAACgluJCknJas2aNpk+frh9++MHl9uDBgwcrICBAb7/9tl599VUtW7ZMVqtVzZs319y5czVy5EhJUm5urpo3b679+/crMjJSknT27FnVr19fW7duVUxMjDumBQAAAFRrlvi0Gz4Gl54AAGoCVg6W00MPPaTCwkKtX7/eWXfy5EmlpaVpzJgx+vDDDzVt2jQ9+eSTOnTokB577DGNHj1aW7duLde4DodDdrvdpQAAAAAAAABlQXKwnOrUqaPhw4crOTnZWffOO++oadOmiomJ0bJlyxQbG6tJkyapVatWmjFjhh544AEtW7asXOMmJSXJbDY7S2hoaHmnAgAAAAAAgFqG5GAFGD9+vDZt2qTvv/9ekpSSkqLY2FgZDAZlZ2ere/fuLu27d++u7Ozsco2ZkJAgm83mLFartVz9AQAAAAAAoPbhzMEKEBUVpY4dO2rNmjXq27evDh8+rLS00p1x4uHxa372Py+NvnTp0nW/MxqNLmccAgAAAPg3zgMEAKB0WDlYQcaNG6eUlBQlJyerd+/ezm2+4eHhyszMdGmbmZmptm3bSpKCgoIkSfn5+c73WVlZlRQ1AAAAAAAAajNWDlaQ4cOHa+bMmVq1apXWrFnjrJ81a5aGDh2qqKgo9e7dWx9//LFSU1O1efNmSb+eWXjHHXdo8eLFat68uU6ePKm5c+e6axoAAAAAAACoRVg5WEHMZrOGDBkif39/DR482Fk/ePBgrVy5UsuWLVO7du30+uuvKzk5WTExMc42b731li5fvqxbb71VcXFxWrhwoRtmAAAAAAAAgNrGUPyfh92hXO6++261a9dOf/zjH8vdV2xsrCwWi+bPn1+q9na7XWazWTabTSaTqdzjAwAAAAAAoHoqS56IbcUV4MyZM0pPT1d6erpeeeUVd4cDAAAA1HqW+NJdEChxeQkAoHYjOVgBoqKidObMGS1ZskStW7d2dzgAAAAAAABAqZAcrAC5ubmVPqbD4ZDD4XA+2+32So8BAAAAAAAA1RvJwSoqJSXlmu+TkpKUmJhYOcEAAAAAAACgRuK24moqISFBNpvNWaxWq7tDAgAAAAAAQDXDysFqymg0ymg0ujsMAAAAoErikhEAAEqHlYMAAAAAAABALUVyEAAAAAAAAKilSA4CAAAAAAAAtRTJQTe7ePGiu0MAAAAAAABALcWFJJUsJiZG7du3l5eXl9555x116NBBL730kmbNmqVt27apbt266tu3r1asWKGGDRu6O1wAAACgWrLEp5Xrey40AQDUFqwcdIPVq1fLx8dHmZmZWrx4sXr16qWoqCjt2bNHGzZs0I8//qihQ4desw+HwyG73e5SAAAAAAAAgLJg5aAbhIWFaenSpZKkhQsXKioqSosWLXK+f+uttxQaGqpvvvlGrVq1umofSUlJSkxMrJR4AQAAAAAAUDOxctANbr31VufvAwcOaOvWrfL393eWNm3aSJJycnJK7CMhIUE2m81ZrFbrDY8bAAAAAAAANQsrB92gbt26zt8FBQUaOHCglixZckW7kJCQEvswGo0yGo03JD4AAAAAAADUDiQH3axTp05at26dLBaLvLz4cwAAAAAVgQtFAAAoHbYVu9kTTzyh06dPa9iwYdq9e7dycnK0ceNGjR49WoWFhe4ODwAAAAAAADUYycESxMTEKC4urkL6mj9/viIjI6/6rnHjxsrMzFRhYaH69u2rDh06KC4uTvXq1ZOHB38eAAAAAAAA3DjsY61k6enpV9SFhYUpNTW18oMBAAAAAABArcbSNAAAAAAAAKCWIjlYCgaDQX/7299c6urVq6eUlBTn8/HjxzVs2DAFBgaqbt266ty5s3bu3HnV/nJyctSiRQtNnjxZiYmJat++/RVtIiMj9fTTT1foPAAAAICazhKfJkt8mrvDAACg2mBbcQUoKChQdHS0br75Zq1fv17BwcHat2+fioqKrmj71Vdf6Z577tHYsWO1cOFCHT9+XAsWLNDu3bvVpUsXSdL+/fv11VdfXXOrscPhkMPhcD7b7faKnxgAAAAAAABqNJKDFWDt2rX66aeftHv3bgUGBkqSWrZseUW7L774QgMGDNCcOXP05JNPSpKaNGmie+65R8nJyc7kYHJysqKjo9WiRYsSx0xKSlJiYuINmA0AAAAAAABqC7YVV4CsrCxFRUU5E4NXk5eXpz59+uiZZ55xJgZ/M378eL377ru6cOGCLl68qLVr12rMmDHXHDMhIUE2m81ZrFZrhcwFAAAAAAAAtQcrB0vBYDCouLjYpe7SpUvO33Xq1LluH0FBQWrcuLHeffddjRkzRiaTyflu4MCBMhqN+vDDD+Xj46NLly7pwQcfvGZ/RqNRRqOxjDMBAAAAAAAA/o2Vg6UQFBSk/Px85/O3336r8+fPO58jIiKUlZWl06dPl9hHnTp19Mknn8jX11f33HOPfvnlF+c7Ly8vjRo1SsnJyUpOTtYjjzxSqoQjAAAAAFe5i/srd3F/d4cBAEC1QXKwFHr16qWXX35Z+/fv1549ezRx4kR5e3s73w8bNkzBwcEaPHiwMjMz9Y9//EPr1q3Tl19+6dJP3bp1lZaWJi8vL913330qKChwvhs3bpz+7//+Txs2bLjulmIAAAAAAACgIpAcLIXly5crNDRUd955p4YPH66ZM2fKz8/P+d7Hx0ebNm3STTfdpH79+qlDhw5avHixPD09r+jL399fn332mYqLi9W/f3+dO3dOKSkp6tKli7p166Y2bdro9ttvr8zpAQAAAAAAoJYyFP/3YXqodCkpKZo2bZqCgoI0adIkzZgxo8x92O12mc1m2Ww2l/MMAQAAAAAAULuUJU/EhSRVgN1u18WLF3XixAmNHj3a3eEAAAAA1Z4lPs3dIZQZZyUCANyhRm8rLioqUlJSkpo3b646deqoY8eO+uCDDyRJ6enpMhgM2rJlizp37iw/Pz9169ZNR48edenj1Vdf1S233CIfHx+1bt1ab7/9tvNdbm6uDAaDsrKynHVnz56VwWBQenq6s279+vUKCwuTr6+v7rrrLq1evVoGg0Fnz56VJE2bNk0Oh0OTJ09Wt27d5O/vr3vvvdflEhQAAAAAAACgotXo5GBSUpLWrFmj1157TYcPH9b06dP1hz/8QRkZGc42c+bM0fLly7Vnzx55eXm5XAby4Ycfatq0aXryySd16NAhPfbYYxo9erS2bt1a6hi+++47Pfjggxo8eLAOHDigxx57THPmzHFpk5ycLC8vL+3du1dvv/22Pv/8c+Xl5WnmzJkl9utwOGS3210KAAAAAAAAUBY1dluxw+HQokWLtHnzZnXt2lWS1KJFC23fvl2vv/66JkyYIEl67rnnFB0dLUmKj49X//79deHCBfn6+mrZsmWKjY3VpEmTJEkzZszQjh07tGzZMt11112liuP1119X69at9fzzz0uSWrdurUOHDum5555zaXfp0iW99tpruuWWWyRJkydP1oIFC0rsNykpSYmJiWX4FwEAAAAAAABc1diVg8eOHdP58+fVp08f+fv7O8uaNWuUk5PjbBcREeH8HRISIkk6efKkJCk7O1vdu3d36bd79+7Kzs4udRxHjx5Vly5dXOpuu+22K9r5+fk5E4O/xfJbHFeTkJAgm83mLFartdQxAQAAAAAAAFINXjlYUFAgSUpLS9PNN9/s8s5oNDoThN7e3s56g8Eg6dezCkvDw+PX3Op/Xvh86dKl3xXvf8bxWyzXukjaaDTKaDT+rrEAAACAmo7LPQAAKJ0au3Kwbdu2MhqNysvLU8uWLV1KaGhoqfoIDw9XZmamS11mZqbatm0rSQoKCpIkl4tD/vNyEunXbcR79uxxqdu9e3eZ5wMAAAAAAABUtBq7cjAgIEAzZ87U9OnTVVRUpB49eshmsykzM1Mmk0nNmjW7bh+zZs3S0KFDFRUVpd69e+vjjz9WamqqNm/eLEmqU6eO7rjjDi1evFjNmzfXyZMnNXfuXJc+HnvsMb3wwguaPXu2xo4dq6ysLKWkpEj690pFAAAAAAAAwB1q7MpBSXr22Wf19NNPKykpSeHh4br33nuVlpam5s2bl+r7wYMHa+XKlVq2bJnatWun119/XcnJyYqJiXG2eeutt3T58mXdeuutiouL08KFC136aN68uT744AOlpqYqIiJCEyZMUFhYmCSxLRgAAAAAAABuZSi+1sF2qHAxMTG6ePGirFZrhV4iYrfbZTabZbPZZDKZKqxfAAAAAAAAVC9lyRPV2G3FVckrr7yiLl26aPHixcrIyHDWGwwGfffdd/rnP/+pWbNm6cCBAwoMDNSoUaO0cOFCeXnx5wEAAAB+D0t82g0fg0tPAAA1QY3eVlxVfPvttxo0aJDS0tLk6+urW2+9VVarVfn5+fL29la/fv3UpUsXHThwQK+++qrefPPNK7YnAwAAAAAAABWNpWmVYMWKFVqxYoWkX7cVR0ZGqkmTJpKkOXPmKDQ0VC+//LIMBoPatGmjH374QbNnz9YzzzwjD4+r528dDoccDofz2W633/iJAAAAAAAAoEZh5aCbZWdnq2vXri43F3fv3l0FBQU6fvx4id8lJSXJbDY7S2hoaGWECwAAAAAAgBqE5GA1lZCQIJvN5iwVebkJAAAAAAAAage2FVcyHx8fFRYWOp/Dw8O1bt06FRcXO1cPZmZmKiAgwLn1+GqMRqOMRuMNjxcAAACojrgsBACA0mHlYCWzWCzauXOncnNzderUKU2aNElWq1VTpkzR119/rY8++kjz5s3TjBkzSjxvEAAAAAAAAKgIZJ/Kqbi4WBMmTFBgYKAMBoPq1aunuLi4EtvPnDlTnp6eatu2rYKCgnTp0iV9+umn2rVrlzp27KiJEyfqwQcfVGJiorKysipxJgAAAAAAAKhtDMXFxcXuDqI6++yzzzRo0CClp6erRYsW8vDwUJ06dRQQEPC7+8zNzVXz5s21f/9+RUZGluobu90us9ksm80mk8n0u8cGAAAAAABA9VaWPBFnDpZTTk6OQkJC1K1bN3eHAgAAAAAAAJQJycFyiI2N1erVqyVJBoNBzZo1k8ViUWRkpF588UVJv54xOGHCBB07dkzvv/++6tevr7lz52rChAnOfnbt2qXHHntM2dnZat++vebMmeOW+QAAAAA1hSU+zW1jcxkKAKA64czBcli5cqUWLFigJk2aKD8/X7t3775qu+XLl6tz587av3+/Jk2apMcff1xHjx6VJBUUFGjAgAFq27at9u7dq/nz52vmzJnXHdvhcMhut7sUAAAAAAAAoCxIDpaD2WxWQECAPD09FRwcrKCgoKu269evnyZNmqSWLVtq9uzZatiwobZu3SpJWrt2rYqKivTmm2+qXbt2GjBggGbNmnXdsZOSkmQ2m50lNDS0QucGAAAAAACAmo/kYCWIiIhw/jYYDAoODtbJkyclSdnZ2YqIiJCvr6+zTdeuXa/bZ0JCgmw2m7NYrdaKDxwAAAAAAAA1GmcOVgJvb2+XZ4PBoKKionL1aTQaZTQay9UHAAAAAAAAajeSg24WHh6ut99+WxcuXHCuHtyxY4ebowIAAACqNy4FAQCgdNhW7GbDhw+XwWDQ+PHjdeTIEX366adatmyZu8MCAAAAAABALUBy0M38/f318ccf6+DBg4qKitKcOXO0ZMkSd4cFAAAAAACAWsBQXFxc7O4gUH52u11ms1k2m00mk8nd4QAAAAAAAMBNypInYuUgAAAAAAAAUEtxIUkVsWHDBi1cuFCHDh2Sp6enunbtqpUrV+qWW25xd2gAAABAtWOJTyt1Wy4vAQDUZqwcrCLOnTunGTNmaM+ePdqyZYs8PDx0//33q6io6KrtHQ6H7Ha7SwEAAAAAAADKgpWDVcSQIUNcnt966y0FBQXpyJEjat++/RXtk5KSlJiYWFnhAQAAAAAAoAZi5WAV8e2332rYsGFq0aKFTCaTLBaLJCkvL++q7RMSEmSz2ZzFarVWYrQAAAAAAACoCVg5WEUMHDhQzZo106pVq9S4cWMVFRWpffv2unjx4lXbG41GGY3GSo4SAAAAqB44RxAAgNIhOVgF/Pzzzzp69KhWrVqlO++8U5K0fft2N0cFAAAAAACAmo7kYBVQv359NWjQQG+88YZCQkKUl5en+Ph4d4cFAAAAAACAGo4zB6sADw8Pvffee9q7d6/at2+v6dOn6/nnn3d3WAAAAAAAAKjhWDlYRfTu3VtHjhxxqSsuLnZTNAAAAAAAAKgNSA4CAAAAqHEs8Wk3rG8uOwEA1CRsKy6FoqIiLV26VC1btpTRaFTTpk313HPPSZIOHjyoXr16qU6dOmrQoIEmTJiggoIC57exsbEaPHiwEhMTFRQUJJPJpIkTJzpvIV6zZo0aNGggh8PhMubgwYM1cuTIypskAAAAAAAAah2Sg6WQkJCgxYsX6+mnn9aRI0e0du1aNWrUSOfOndM999yj+vXra/fu3Xr//fe1efNmTZ482eX7LVu2KDs7W+np6Xr33XeVmpqqxMRESdJDDz2kwsJCrV+/3tn+5MmTSktL05gxY0qMyeFwyG63uxQAAAAAAACgLEgOXscvv/yilStXaunSpRo1apRuueUW9ejRQ+PGjdPatWt14cIFrVmzRu3bt1evXr308ssv6+2339aPP/7o7MPHx0dvvfWW2rVrp/79+2vBggX64x//qKKiItWpU0fDhw9XcnKys/0777yjpk2bKiYmpsS4kpKSZDabnSU0NPRG/jMAAAAAAACgBiI5eB3Z2dlyOBy6++67r/quY8eOqlu3rrOue/fuKioq0tGjR511HTt2lJ+fn/O5a9euKigokNVqlSSNHz9emzZt0vfffy9JSklJUWxsrAwGQ4lxJSQkyGazOctvfQEAAAAAAAClxYUk11GnTp0bPkZUVJQ6duyoNWvWqG/fvjp8+LDS0q59gLLRaJTRaLzhsQEAAADVEZeGAABQOqwcvI6wsDDVqVNHW7ZsueJdeHi4Dhw4oHPnzjnrMjMz5eHhodatWzvrDhw4oH/961/O5x07dsjf399lK/C4ceOUkpKi5ORk9e7dm23CAAAAAAAAuOFIDl6Hr6+vZs+eraeeekpr1qxRTk6OduzYoTfffFMjRoyQr6+vRo0apUOHDmnr1q2aMmWKRo4cqUaNGjn7uHjxosaOHasjR47o008/1bx58zR58mR5ePz7n3/48OE6fvy4Vq1ape7du6tDhw7y9vbW4MGD3TFtAAAAAAAA1AJsKy6Fp59+Wl5eXnrmmWf0ww8/KCQkRBMnTpSfn582btyoadOmqUuXLvLz89OQIUP0wgsvuHx/9913KywsTD179pTD4dCwYcNZhhqiAAAfJklEQVQ0f/58lzZms1lDhgxRWlqaPv74Y0VGRuqzzz6Tv79/Jc4UAAAAAAAAtYmhuLi42N1B1GSxsbE6e/as/va3v1237d1336127dpp7dq1ev755zV69OhSj2O322U2m2Wz2WQymcoTMgAAAAAAAKqxsuSJ2FbsBg6HQ1OnTtVNN90kX19f3XHHHVq6dKnS09P10ksv6eeff9aYMWNkMBiUkpLi7nABAACAasMSnyZL/LUv9wMAAP9GctANnnrqKa1bt06rV6/Wvn37dOjQIc2ePVvPPPOM8vPzZTKZ9OKLLyo/P18PP/zwVftwOByy2+0uBQAAAAAAACgLzhy8wf575d+5c+f06quvKiUlRffdd58k6cyZM7JYLPLz81NwcLAMBoPMZrOCg4NL7DcpKUmJiYk3MnQAAAAAAADUcKwcrGQ5OTm6dOmSunfv7qzz9vbWbbfdpuzs7FL3k5CQIJvN5ixWq/VGhAsAAAAAAIAajJWD1ZTRaJTRaHR3GAAAAAAAAKjGWDlYyW655Rb5+PgoMzPTWXfp0iXt3r1bbdu2dWNkAAAAQPWXu7i/chf3d3cYAABUG6wcrGR169bV448/rlmzZikwMFBNmzbV0qVLdf78eY0dO9bd4QEAAAAAAKAWYeXgDZCeni6DwaCzZ89e9f3ixYvVpEkTDRgwQJ06ddKxY8e0ceNG1a9fv5IjBQAAAAAAQG3GysEKEBMTo8jISL344oulau/r66stW7bI4XCoQYMGV7wvKakIAAAAAAAAVCSSg27i7+8vf39/d4cBAAAAAACAWozkYDnFxsYqIyNDGRkZWrlypSQpOTlZkrR3717Nnj1bR44cUWRkpJKTk9W6dWtJ0vz58/W3v/1NWVlZkn7divzUU0/p8OHD8vb2Vrt27bR27Vo1a9bMPRMDAAAAqjFLfJq7Q6iSuKwFAPDfOHOwnFauXKmuXbtq/Pjxys/PV35+vkJDQyVJc+bM0fLly7Vnzx55eXlpzJgxV+3j8uXLGjx4sKKjo/XVV1/pyy+/1IQJE2QwGEoc1+FwyG63uxQAAAAAAACgLFg5WE5ms1k+Pj7y8/NTcHCwJOnrr7+WJD333HOKjo6WJMXHx6t///66cOGCfH19Xfqw2+2y/b/27j0q6jr/4/hrQBhEmFEUQXTa2fCSJF5K89KamKZiurq5nkq74KqZKxiatkx5AdOlNjtaWdaapburm6eLramZZpJdWKxct61MzTTI6yo6E9IOKvP7w+P8mgRkkGEY5vk453sO853P9/t9fbGPHd/nc7HbNWzYMCUmJkqSOnbsWOVzc3NzlZOTU9uvAwAAAAAAgCDCyEEf6ty5s/vnVq1aSZKOHz9+SbuYmBilpaVp8ODBGj58uJ566ikdOXKkynvbbDbZ7Xb3UVRUVLvhAQAAAAAA0OAxctCHwsLC3D9fnCJcXl5eYduXX35ZU6dO1aZNm7RmzRrNmjVLW7ZsUa9evSpsbzQaZTQaaz80AAAA0ACwth4AANXDyMFaEB4ervPnz1/xfbp16yabzaaPP/5YnTp10urVq2shHQAAAAAAAFAxioO1wGq1qqCgQAcPHtSJEycqHR1YmQMHDshmsyk/P1/fffedNm/erH379l123UEAAAAAAADgSlAcrAUzZsxQaGiokpKSFBsbq8LCwirbZ2dn6/nnn3d/joyM1Ndff61Ro0apffv2uu+++zRlyhRNmjTJ19EBAAAAAAAQxAwul8vl7xDBpqSkRE6nU82bN6+1ezocDpnNZtntdplMplq7LwAAAAAAAAKLN3UiNiTxg6ioKEVFRfk7BgAAANBgWbM2+DtChdgoBQBQ3wT9tOKUlBRlZGQoMzNTzZo1U1xcnJYtW6YzZ85o3Lhxio6OVtu2bfX222+7r3n//fd1ww03yGg0qlWrVsrKytK5c+ckSX/+85+VkJBwybqDI0aM0O9+9ztJF6YVd+3a1eP7F198UR07dlRERISuueYaPffccz5+cwAAAAAAAAS7oC8OStLKlSvVokUL7dixQxkZGZo8ebJGjx6tPn36aOfOnRo0aJDuvvtulZaW6tChQxo6dKh69Oihf//731q6dKmWL1+u+fPnS5JGjx6tkydPatu2be77FxcXa9OmTRo7dmyFz1+1apXmzJmjBQsWaPfu3frjH/+o2bNna+XKlZVmdjqdcjgcHgcAAAAAAADgDYqDkrp06aJZs2apXbt2stlsioiIUIsWLTRx4kS1a9dOc+bM0cmTJ/X555/rueeek8Vi0ZIlS3TNNddo5MiRysnJ0ZNPPqny8nI1a9ZMqampWr16tfv+r732mlq0aKH+/ftX+Py5c+fqySef1G233aZf/vKXuu222zRt2jS98MILlWbOzc2V2Wx2HxaLpdZ/LwAAAAAAAGjYKA5K6ty5s/vn0NBQNW/eXMnJye5zcXFxkqTjx49r9+7d6t27twwGg/v7G2+8USUlJfr+++8lSWPHjtXrr78up9Mp6cLIwDvuuEMhIZf+us+cOaP9+/dr/Pjx7rUIo6KiNH/+fO3fv7/SzDabTXa73X0UFRVd2S8BAAAAAAAAQYcNSSSFhYV5fDYYDB7nLhYCf76OYGWGDx8ul8ulDRs2qEePHvrggw+0aNGiCtuWlJRIkpYtW6aePXt6fBcaGlrpM4xGo4xGY7XyAAAAAMGGjT8AAKgeioNe6tixo15//XW5XC530fCjjz5SdHS02rRpI0mKiIjQbbfdplWrVumbb75Rhw4ddN1111V4v7i4OCUkJOjbb7+tdE1CAAAAAAAAwBcoDnrp97//vRYvXqyMjAylp6drz549mjt3rqZPn+4xbXjs2LEaNmyYvvzyS911111V3jMnJ0dTp06V2WzWkCFD5HQ69emnn+rUqVOaPn26r18JAAAAAAAAQYrioJdat26tjRs3aubMmerSpYtiYmI0fvx4zZo1y6PdzTffrJiYGO3Zs0djxoyp8p4TJkxQZGSknnjiCc2cOVNNmjRRcnKyMjMzffkqAAAAAAAACHIGl8vl8ncIXDmHwyGz2Sy73S6TyeTvOAAAAAAAAPATb+pEjBwEAAAA0OBYszb49flsiAIACBQUBwOU0+mU0+l0f3Y4HH5MAwAAAAAAgEAUcvkmqI9yc3NlNpvdh8Vi8XckAAAAAAAABBiKgwHKZrPJbre7j6KiIn9HAgAAAAAAQIBhWnGAMhqNMhqN/o4BAAAAAACAAEZxEAAAAECDw4YgAABUD9OKAQAAAAAAgCBFcdBHUlJSlJmZWePrV6xYIYPBUIuJAAAAAAAAAE8UB+upAwcOqF+/fv6OAQAAAAAAgAaMNQfrqbfffltLlizxdwwAAAAAAAA0YBQHa8GZM2c0efJkvfHGG4qOjtaMGTM8vj916pQeeOABvfXWW3I6nerXr5+efvpptWvXTtKFKcSZmZlas2aNMjMzVVRUpF/96leyWCz+eB0AAAAg4FmzNvg7Qq1jkxUAgC8wrbgWzJw5U++//77+8Y9/aPPmzcrLy9POnTvd36elpenTTz/VunXrlJ+fL5fLpaFDh+rs2bPuNqWlpVq4cKH++te/avv27SosLLykyPhTTqdTDofD4wAAAAAAAAC8wcjBK1RSUqLly5frb3/7mwYMGCBJWrlypdq0aSNJ2rdvn9atW6ePPvpIffr0kSStWrVKFotFb775pkaPHi1JOnv2rJ5//nklJiZKktLT0zVv3rxKn5ubm6ucnBxfvhoAAAAAAAAaOEYOXqH9+/errKxMPXv2dJ+LiYlRhw4dJEm7d+9Wo0aNPL5v3ry5OnTooN27d7vPRUZGuguDktSqVSsdP3680ufabDbZ7Xb3UVRUVJuvBQAAAAAAgCDAyMF6IiwszOOzwWCQy+WqtL3RaJTRaPR1LAAAAAAAADRgFAevUGJiosLCwlRQUKCrrrpK0oUNSPbu3at+/fqpY8eOOnfunAoKCtzTik+ePKk9e/YoKSnJn9EBAACABovNOwAAqB6Kg1coKipK48eP18yZM9W8eXO1bNlSjzzyiEJCLszYbteunUaMGKGJEyfqhRdeUHR0tLKystS6dWuNGDHCz+kBAAAAAAAQzCgO1oInnnhCJSUlGj58uKKjo/Xggw/Kbre7v3/55Zf1wAMPaNiwYSorK9NNN92kjRs3XjKVGAAAAAAAAKhLBldVC9vBb9LS0mS1WpWdnV2t9g6HQ2azWXa7XSaTybfhAAAAAAAAUG95Uydi5CAAAACABseateGybViXEAAAKcTfAQAAAAAAAAD4ByMHA5TT6ZTT6XR/djgcfkwDAAAAAACAQERxsJ5asWJFld/n5uYqJyenbsIAAAAAAACgQWJacYCy2Wyy2+3uo6ioyN+RAAAAAAAAEGAYORigjEajjEajv2MAAAAA9RKbjQAAUD2MHAQAAAAAAACCFMVBAAAAAAAAIEhRHKyHUlJSlJmZ6e8YAAAAAAAAaOAoDgIAAAAAAABByuByuVz+DoH/l5aWppUrV3qcO3DggKxWa5XXORwOmc1m2e12mUwmHyYEAAAA6j9r1gZ/R/A5Nl0BAFTGmzoRuxXXM0899ZT27t2rTp06ad68eZKk2NhYP6cCAAAAAABAQ0RxsJ4xm80KDw9XZGSk4uPjK23ndDrldDrdnx0OR13EAwAAAAAAQAPCmoMBKjc3V2az2X1YLBZ/RwIAAAAAAECAoTgYoGw2m+x2u/soKirydyQAAAAAAAAEGKYV10Ph4eE6f/58lW2MRqOMRmMdJQIAAAACC5t1AABQPYwcrIesVqsKCgp08OBBnThxQuXl5f6OBAAAAAAAgAaI4qAP5eXlyWAw6PTp015dN2PGDIWGhiopKUmxsbEqLCz0UUIAAAAAAAAEM4PL5XL5O0RDVVZWpuLiYsXFxclgMPj0WQ6HQ2azWXa7XSaTyafPAgAAAAAAQP3lTZ2INQd9KDw8XPHx8f6OAQAAAAAAAFSI4qAXUlJSlJycrNDQUK1cuVLh4eGaP3++xowZo/T0dL322muKi4vTM888o9TUVOXl5al///46deqUmjZtqu+++07p6en68MMPVVZWJqvVqieeeEJDhw7VqVOnlJ6ers2bN6ukpERt2rTRww8/rHHjxvn7tQEAAICAY83a4O8IDQ6bvABAw0Rx0EsrV67UQw89pB07dmjNmjWaPHmy1q5dq9/85jd6+OGHtWjRIt19990VrhM4ZcoUlZWVafv27WrSpIm++uorRUVFSZJmz56tr776Sm+//bZatGihb775Rj/++GOlOZxOp5xOp/uzw+Go/ZcFAAAAAABAg0Zx0EtdunTRrFmzJEk2m02PPfaYWrRooYkTJ0qS5syZo6VLl+rzzz+/5NrCwkKNGjVKycnJkqSrr77a47tu3bqpe/fuki7sWFyV3Nxc5eTk1MYrAQAAAAAAIEixW7GXOnfu7P45NDRUzZs3dxf7JCkuLk6SdPz48UuunTp1qubPn68bb7xRc+fO9SggTp48Wa+88oq6du2qhx56SB9//HGVOWw2m+x2u/soKiq60lcDAAAAAABAkKE46KWwsDCPzwaDwePcxV2Jy8vLL7l2woQJ+vbbb3X33XfrP//5j7p3765nnnlGkpSamqrvvvtO06ZN0+HDhzVgwADNmDGj0hxGo1Emk8njAAAAAAAAALzBtOI6ZrFYdP/99+v++++XzWbTsmXLlJGRIUmKjY3Vvffeq3vvvVd9+/bVzJkztXDhQj8nBgAAAAIPm2cAAFA9FAfrUGZmplJTU9W+fXudOnVK27ZtU8eOHSVdWKvw+uuv17XXXiun06n169e7vwMAAAAAAAB8geJgHTp//rymTJmi77//XiaTSUOGDNGiRYuUkpKisrIyvfbaazp48KAaN26svn376pVXXvF3ZAAAAAAAADRgBpfL5fJ3iGBXXFyssLAwRUdHy2q1KjMzU5mZmV7dw+FwyGw2y263s/4gAAAAAABAEPOmTsTIwXogJibG3xEAAAAAAAAQhBg5WA+kpKSoa9eu2rVrl95//32P76r7x8PIQQAAAOD/WbM2+DtCrWFzFQCAt7ypE4XUUSZUwxtvvKE2bdpo3rx5OnLkiI4cOVJpW6fTKYfD4XEAAAAAAAAA3qA4WI/ExMQoNDRU0dHRio+PV3x8fKVtc3NzZTab3YfFYqnDpAAAAAAAAGgIKA4GKJvNJrvd7j6Kior8HQkAAAAAAAABhg1JApTRaJTRaPR3DAAAAKBeYp0+AACqh5GD9Ux4eLjOnz/v7xgAAAAAAAAIAhQH6xmr1art27fr0KFDOnHihL/jAAAAAAAAoAGjOFjPzJs3TwcPHlRiYqJiY2P9HQcAAAAAAAANmMHlcrn8HQKeUlJS1LVrVy1evLja1zgcDpnNZtntdplMJh+mAwAAAAAAQH3mTZ2IDUkAAAAANDjWrA0VnmejEgAAPDGtGAAAAAAAAAhSjBwMUE6nU06n0/3Z4XD4MQ0AAAAAAAACESMHA1Rubq7MZrP7sFgs/o4EAAAAAACAAENxMEDZbDbZ7Xb3UVRU5O9IAAAAAAAACDBMKw5QRqNRRqPR3zEAAACAeomNRwAAqB6Kg/VQXl6evyMAAAAAAAAgCDCtuAIpKSkyGAwyGAzatWtXnT03Ly/P/dykpKQ6ey4AAAAAAACCE8XBSkycOFFHjhxRp06dJElr165Vr169ZDabFR0drWuvvVaZmZnu9itWrHAX9n56REREuNukpaW5z4eHh6tt27aaN2+ezp07J0nq06ePjhw5osjISI+diAEAAAAAAABfYFpxJSIjIxUfHy9J2rp1q26//XYtWLBAv/71r2UwGPTVV19py5YtHteYTCbt2bPH45zBYPD4PGTIEL388styOp3auHGjpkyZorCwMNlsNoWHhys+Pl6jR4/W6dOnffuCAAAAAAAACHoUB6vhrbfe0o033qiZM2e6z7Vv314jR470aGcwGNwFxcoYjUZ3m8mTJ2vt2rVat26dbDZb7QcHAAAAAAAAqsC04mqIj4/Xl19+qS+++KLW7924cWOVlZV5fZ3T6ZTD4fA4AAAAAAAAAG9QHKyGjIwM9ejRQ8nJybJarbrjjjv00ksvXbIuoN1uV1RUlMeRmppa4T1dLpfeffddvfPOO7r55pu9zpSbmyuz2ew+LBZLjd4NAAAAAAAAwYtpxdXQpEkTbdiwQfv379e2bdv0z3/+Uw8++KCeeuop5efnKzIyUpIUHR2tnTt3elzbuHFjj8/r169XVFSUzp49q/Lyco0ZM0bZ2dleZ7LZbJo+fbr7s8PhoEAIAAAAAAAAr1Ac9EJiYqISExM1YcIEPfLII2rfvr3WrFmjcePGSZJCQkLUtm3bKu/Rv39/LV26VOHh4UpISFCjRjX7IzAajTIajTW6FgAAAAAAAJAoDtaY1WpVZGSkzpw549V1TZo0uWwBEQAAAAAAAKgLFAerITs7W6WlpRo6dKh+8Ytf6PTp03r66ad19uxZ3XLLLe52LpdLR48eveT6li1bKiTEt8s7ulwuSWJjEgAAAAAAgCB3sT50sV5UFYqD1dCvXz89++yzuueee3Ts2DE1a9ZM3bp10+bNm9WhQwd3O4fDoVatWl1y/ZEjRxQfH+/TjCdPnpQk1h0EAAAAAACAJOmHH36Q2Wyusg3FwWro37+/+vfvX2WbtLQ0paWlVdlmxYoVtRfqZ2JiYiRJhYWFl/1DB+B/FzcRKioqkslk8nccAJdBnwUCC30WCCz0WaD2uVwu/fDDD0pISLhsW4qDlXjuuef04osvKj8/X8nJyXXyzA8++ECpqalyOp269dZbvbr24rRls9nMX6ZAADGZTPRZIIDQZ4HAQp8FAgt9Fqhd1R08RnGwAqtWrdKPP/4oSbrqqqvq7Lndu3fXrl27JElRUVF19lwAAAAAAAAEJ4qDFWjdurVfntu4cWN2MgYAAAAAAECdCc3Ozs72dwjUjtDQUKWkpKhRI2q+QCCgzwKBhT4LBBb6LBBY6LOA/xhc1dnTGAAAAAAAAECDE+LvAAAAAAAAAAD8g+IgAAAAAAAAEKQoDgIAAAAAAABBiuIgAAAAAAAAEKQoDgaw4uJijR07ViaTSU2bNtX48eNVUlJy2evy8/N18803q0mTJjKZTLrpppv0448/1kFiILjVtM9KksvlUmpqqgwGg958800fJwUged9ni4uLlZGRoQ4dOqhx48a66qqrNHXqVNnt9jpMDQSPZ599VlarVREREerZs6d27NhRZftXX31V11xzjSIiIpScnKyNGzfWUVIAknd9dtmyZerbt6+aNWumZs2aaeDAgZft4wBqjuJgABs7dqy+/PJLbdmyRevXr9f27dt13333VXlNfn6+hgwZokGDBmnHjh365JNPlJ6erpAQ/lMAfK0mffaixYsXy2Aw+DghgJ/yts8ePnxYhw8f1sKFC/XFF19oxYoV2rRpk8aPH1+HqYHgsGbNGk2fPl1z587Vzp071aVLFw0ePFjHjx+vsP3HH3+sO++8U+PHj9e//vUvjRw5UiNHjtQXX3xRx8mB4ORtn83Ly9Odd96pbdu2KT8/XxaLRYMGDdKhQ4fqODkQHAwul8vl7xDw3u7du5WUlKRPPvlE3bt3lyRt2rRJQ4cO1ffff6+EhIQKr+vVq5duueUWPfroo3UZFwh6Ne2zkrRr1y4NGzZMn376qVq1aqW1a9dq5MiRdRUdCEpX0md/6tVXX9Vdd92lM2fOqFGjRr6MDASVnj17qkePHlqyZIkkqby8XBaLRRkZGcrKyrqk/e23364zZ85o/fr17nO9evVS165d9fzzz9dZbiBYedtnf+78+fNq1qyZlixZonvuucfXcYGgw3CxAJWfn6+mTZu6/8EiSQMHDlRISIgKCgoqvOb48eMqKChQy5Yt1adPH8XFxalfv3768MMP6yo2ELRq0mclqbS0VGPGjNGzzz6r+Pj4uogKQDXvsz9nt9tlMpkoDAK1qKysTJ999pkGDhzoPhcSEqKBAwcqPz+/wmvy8/M92kvS4MGDK20PoPbUpM/+XGlpqc6ePauYmBhfxQSCGsXBAHX06FG1bNnS41yjRo0UExOjo0ePVnjNt99+K0nKzs7WxIkTtWnTJl133XUaMGCA9u3b5/PMQDCrSZ+VpGnTpqlPnz4aMWKEryMC+Ima9tmfOnHihB599NFqLx8AoHpOnDih8+fPKy4uzuN8XFxcpf3z6NGjXrUHUHtq0md/7g9/+IMSEhIuKfIDqB0UB+uZrKwsGQyGKo+vv/66RvcuLy+XJE2aNEnjxo1Tt27dtGjRInXo0EEvvfRSbb4GEDR82WfXrVun9957T4sXL67l1EDw8mWf/SmHw6Fbb71VSUlJys7OvvLgAAAEqccee0yvvPKK1q5dq4iICH/HARok5rjUMw8++KDS0tKqbHP11VcrPj7+ksVbz507p+Li4kqnHrZq1UqSlJSU5HG+Y8eOKiwsrHloIIj5ss++99572r9/v5o2bepxftSoUerbt6/y8vKuJDoQlHzZZy/64YcfNGTIEEVHR2vt2rUKCwu70tgAfqJFixYKDQ3VsWPHPM4fO3as0v4ZHx/vVXsAtacmffaihQsX6rHHHtO7776rzp07+zImENQoDtYzsbGxio2NvWy73r176/Tp0/rss890/fXXS7pQSCgvL1fPnj0rvMZqtSohIUF79uzxOL93716lpqZeeXggCPmyz2ZlZWnChAke55KTk7Vo0SINHz78ysMDQciXfVa6MGJw8ODBMhqNWrduHSMcAB8IDw/X9ddfr61bt7o36CovL9fWrVuVnp5e4TW9e/fW1q1blZmZ6T63ZcsW9e7du04yA8GsJn1Wkv70pz9pwYIFeueddzzWAAZQ+0KzmesSkGJjY1VQUKC///3v6tatmw4ePKhJkyZp0KBB7hERhw4d0g033KAbbrhBrVu3lsFgUGhoqB5//HG1a9dO4eHhWrRokdatW6cXX3yRxV0BH6pJn42KilLLli09jpycHE2aNIl/zAA+VpM+63A4NGjQIJWWlmr16tVyuVwqKSlRSUmJGjdurJAQVnMBaovJZNLs2bNlsVhkNBo1e/Zs7dq1S8uXL1dUVJTuuece7dixw70+WevWrTVr1iw1adJEMTExWrJkidasWaPly5dfsr4ogNrnbZ99/PHHNWfOHP3lL39R586d3f8/lS4UGwHULkYOBrBVq1YpPT1dAwYMUEhIiEaNGqWnn37a/f3Zs2e1Z88elZaWus9lZmbqf//7n6ZNm6bi4mJ16dJFW7ZsUWJioj9eAQgqNemzAPzH2z67c+dO907Gbdu29bjXgQMHZLVa6yw70NDdfvvt+u9//6s5c+bo6NGj6tq1qzZt2uTe8KCwsNCjIN+nTx+tXr1as2bN0sMPP6x27drpzTffVKdOnfz1CkBQ8bbPLl26VGVlZfrtb3/rcZ+5c+eyli/gAwaXy+XydwgAAAAAAAAAdY/5LQAAAAAAAECQojgIAAAAAAAABCmKgwAAAAAAAECQojgIAAAAAAAABCmKgwAAAAAAAECQojgIAAAAAAAABCmKgwAAAAAAAECQojgIAAAAAAAABCmKgwAAAAAAAECQojgIAAAAAAAABCmKgwAAAAAAAECQojgIAAAAAAAABKn/A9YCyMHCA+yIAAAAAElFTkSuQmCC\n"
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "table.iloc[::-1].plot(x=\"tokens\",y=\"score\",kind=\"barh\",figsize=(15,15))"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "3mRIFciFigjI",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 166
+        },
+        "outputId": "05dc7ba0-1a66-4793-f34f-36f46f707972"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<IPython.core.display.HTML object>"
+            ],
+            "text/html": [
+              "<table width: 100%><div style=\"border-top: 1px solid; margin-top: 5px;             padding-top: 5px; display: inline-block\"><b>Legend: </b><span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(0, 75%, 60%)\"></span> Negative  <span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(0, 75%, 100%)\"></span> Neutral  <span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(120, 75%, 50%)\"></span> Positive  </div><tr><th>True Label</th><th>Predicted Label</th><th>Attribution Label</th><th>Attribution Score</th><th>Word Importance</th><tr><td><text style=\"padding-right:2em\"><b>0</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_0 (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_0</b></text></td><td><text style=\"padding-right:2em\"><b>0.72</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> s                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> really                    </font></mark><mark style=\"background-color: hsl(120, 75%, 92%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> too                    </font></mark><mark style=\"background-color: hsl(120, 75%, 84%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> bad                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> that                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> nobody                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> knows                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> about                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> this                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> movie                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> i                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> think                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> if                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> were                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> just                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> spruce                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##d                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> up                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> little                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> and                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> if                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> weren                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> t                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> so                    </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> low                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> -                    </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> budget                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> i                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> think                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> one                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> major                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> film                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> companies                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> might                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> have                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> wanted                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> to                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> take                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> i                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> first                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> saw                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> this                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> movie                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> when                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> i                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> was                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> 11                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> and                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> i                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> thought                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(0, 75%, 90%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> was                    </font></mark><mark style=\"background-color: hsl(0, 75%, 95%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> so                    </font></mark><mark style=\"background-color: hsl(0, 75%, 83%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> powerful                    </font></mark><mark style=\"background-color: hsl(0, 75%, 93%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> with                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> the                    </font></mark><mark style=\"background-color: hsl(0, 75%, 90%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> many                    </font></mark><mark style=\"background-color: hsl(0, 75%, 78%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> great                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> yet                    </font></mark><mark style=\"background-color: hsl(120, 75%, 89%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> illegal                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> lengths                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> that                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> mitchell                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> goes                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> to                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> just                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> to                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> keep                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> his                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> family                    </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> together                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> inspired                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> me                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> then                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> and                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ama                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ##zes                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> me                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> now                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> if                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> you                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> re                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> lucky                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> enough                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> to                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> find                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> copy                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> this                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> movie                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> don                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> '                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> t                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> miss                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> it                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> !                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr></table>"
+            ]
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "html = cls_explainer.visualize()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### ▶▶ Exercice : chercher les termes corrélés à chaque classe\n",
+        "\n",
+        "- Appliquer le modèle appris sur l'éval de imdb\n",
+        "- Appliquer l'interprétation sur un ensemble d'instances (100 puis 1000) et relever les termes avec les attributions les plus fortes, dans un sens ou dans l'autre. Réduisez la taille des phrases des reviews à 30 tokens.\n",
+        "- Trouvez les éventuels biais du jeu de données \n",
+        "\n"
+      ],
+      "metadata": {
+        "id": "23--_RYHjq-e"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### --- CORRECTION"
+      ],
+      "metadata": {
+        "id": "S3402Fm7ju91"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "def get_topk(attributions,k=5,threshold=None):\n",
+        "    \"\"\"recup des k tokens les plus positifs + k tokens les plus négatifs\"\"\"\n",
+        "    table = pds.DataFrame(word_attributions,columns=[\"tokens\",\"score\"])\n",
+        "    high = table.nlargest(k,\"score\")\n",
+        "    low = table.nsmallest(k,\"score\")\n",
+        "    return high,low"
+      ],
+      "metadata": {
+        "id": "G4cN9FVNumeH"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "get_topk(word_attributions)"
+      ],
+      "metadata": {
+        "id": "waGGZz-3wSVg",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "746fbb11-33fc-4185-fe15-051c6eafb60f"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "(     tokens     score\n",
+              " 6       bad  0.336267\n",
+              " 74  illegal  0.227870\n",
+              " 5       too  0.169349\n",
+              " 32      low  0.136739\n",
+              " 34   budget  0.109948,\n",
+              "       tokens     score\n",
+              " 71     great -0.556025\n",
+              " 67  powerful -0.434697\n",
+              " 70      many -0.255127\n",
+              " 65       was -0.253017\n",
+              " 68      with -0.195136)"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 81
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "def cut_sentence(sent,threshold):\n",
+        "  toks = sent.split()[:threshold]\n",
+        "  return \" \".join(toks)\n",
+        "\n",
+        "one = small_eval_dataset[0][\"text\"]\n",
+        "cut_sentence(one,50)"
+      ],
+      "metadata": {
+        "id": "EjKCi-pvxN_a",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 53
+        },
+        "outputId": "a2f52f90-f467-41ce-b1c3-6b9bc7f28fae"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'<br /><br />When I unsuspectedly rented A Thousand Acres, I thought I was in for an entertaining King Lear story and of course Michelle Pfeiffer was in it, so what could go wrong?<br /><br />Very quickly, however, I realized that this story was about A Thousand Other Things besides just'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 82
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "maxseqlength = 30\n",
+        "small_eval_dataset_text = [cut_sentence(one[\"text\"],maxseqlength) for one in small_eval_dataset]"
+      ],
+      "metadata": {
+        "id": "CzVhne2S5typ"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "all_pos = []\n",
+        "all_neg = []\n",
+        "\n",
+        "for sentence in tqdm(small_eval_dataset_text[:100]): \n",
+        "    word_attributions = cls_explainer(sentence)\n",
+        "    label = cls_explainer.predicted_class_name\n",
+        "    high,low = get_topk(word_attributions)\n",
+        "    if label == \"LABEL_1\": \n",
+        "      all_pos.append(high)\n",
+        "    else:\n",
+        "      all_neg.append(high)\n",
+        "    "
+      ],
+      "metadata": {
+        "id": "hP28_7GwuC23",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "601e0c15-6d34-4f42-8964-e5d5ed2a4dce"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "100%|██████████| 100/100 [00:15<00:00,  6.31it/s]\n"
+          ]
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df_high = pds.concat(all_pos)\n",
+        "df_low = pds.concat(all_neg)\n",
+        "df_high"
+      ],
+      "metadata": {
+        "id": "Kp0V1zKl6TNo",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 424
+        },
+        "outputId": "4a7d4dab-5089-420d-e51e-425bef07ef13"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "     tokens     score\n",
+              "3       the  0.413602\n",
+              "6        in  0.406371\n",
+              "2        is  0.395344\n",
+              "4    latest  0.287943\n",
+              "8      long  0.275221\n",
+              "..      ...       ...\n",
+              "17     very  0.600274\n",
+              "16      was  0.479824\n",
+              "19     with  0.477463\n",
+              "18  pleased  0.265249\n",
+              "20      the  0.207427\n",
+              "\n",
+              "[275 rows x 2 columns]"
+            ],
+            "text/html": [
+              "\n",
+              "  <div id=\"df-9ff4bf85-29f0-4a5c-8e28-657e5d6da943\">\n",
+              "    <div 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>tokens</th>\n",
+              "      <th>score</th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>3</th>\n",
+              "      <td>the</td>\n",
+              "      <td>0.413602</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>6</th>\n",
+              "      <td>in</td>\n",
+              "      <td>0.406371</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>2</th>\n",
+              "      <td>is</td>\n",
+              "      <td>0.395344</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>4</th>\n",
+              "      <td>latest</td>\n",
+              "      <td>0.287943</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>8</th>\n",
+              "      <td>long</td>\n",
+              "      <td>0.275221</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>...</th>\n",
+              "      <td>...</td>\n",
+              "      <td>...</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>17</th>\n",
+              "      <td>very</td>\n",
+              "      <td>0.600274</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>16</th>\n",
+              "      <td>was</td>\n",
+              "      <td>0.479824</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>19</th>\n",
+              "      <td>with</td>\n",
+              "      <td>0.477463</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>18</th>\n",
+              "      <td>pleased</td>\n",
+              "      <td>0.265249</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>20</th>\n",
+              "      <td>the</td>\n",
+              "      <td>0.207427</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "<p>275 rows × 2 columns</p>\n",
+              "</div>\n",
+              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9ff4bf85-29f0-4a5c-8e28-657e5d6da943')\"\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 0 24 24\"\n",
+              "       width=\"24px\">\n",
+              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
+              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
+              "  </svg>\n",
+              "      </button>\n",
+              "      \n",
+              "  <style>\n",
+              "    .colab-df-container {\n",
+              "      display:flex;\n",
+              "      flex-wrap:wrap;\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",
+              "    [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-9ff4bf85-29f0-4a5c-8e28-657e5d6da943 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-9ff4bf85-29f0-4a5c-8e28-657e5d6da943');\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",
+              "  </div>\n",
+              "  "
+            ]
+          },
+          "metadata": {},
+          "execution_count": 85
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df_high_avg = df_high.groupby(\"tokens\").mean()\n",
+        "df_low_avg = df_low.groupby(\"tokens\").mean()"
+      ],
+      "metadata": {
+        "id": "becpniSG6jDr"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df_high_avg.nlargest(20,\"score\")"
+      ],
+      "metadata": {
+        "id": "BRh3UR5Y61nX",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 708
+        },
+        "outputId": "ae9f1765-b3fc-49e1-d386-d6327b8f1fb3"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "               score\n",
+              "tokens              \n",
+              "fun         0.796828\n",
+              "nice        0.795959\n",
+              "wonderful   0.773615\n",
+              "strength    0.769845\n",
+              "##az        0.655497\n",
+              "very        0.634470\n",
+              "work        0.628729\n",
+              "festival    0.596434\n",
+              "classic     0.569065\n",
+              "powerful    0.547167\n",
+              "fantastic   0.534932\n",
+              "more        0.534291\n",
+              "becomes     0.520734\n",
+              "curiosity   0.513141\n",
+              "great       0.487063\n",
+              "much        0.485612\n",
+              "master      0.464594\n",
+              "##que       0.460069\n",
+              "touching    0.450371\n",
+              "appreciate  0.450154"
+            ],
+            "text/html": [
+              "\n",
+              "  <div id=\"df-6afa6e27-afe6-4363-bd9b-48d9a11677b7\">\n",
+              "    <div 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>score</th>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>tokens</th>\n",
+              "      <th></th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>fun</th>\n",
+              "      <td>0.796828</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>nice</th>\n",
+              "      <td>0.795959</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>wonderful</th>\n",
+              "      <td>0.773615</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>strength</th>\n",
+              "      <td>0.769845</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>##az</th>\n",
+              "      <td>0.655497</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>very</th>\n",
+              "      <td>0.634470</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>work</th>\n",
+              "      <td>0.628729</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>festival</th>\n",
+              "      <td>0.596434</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>classic</th>\n",
+              "      <td>0.569065</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>powerful</th>\n",
+              "      <td>0.547167</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>fantastic</th>\n",
+              "      <td>0.534932</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>more</th>\n",
+              "      <td>0.534291</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>becomes</th>\n",
+              "      <td>0.520734</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>curiosity</th>\n",
+              "      <td>0.513141</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>great</th>\n",
+              "      <td>0.487063</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>much</th>\n",
+              "      <td>0.485612</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>master</th>\n",
+              "      <td>0.464594</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>##que</th>\n",
+              "      <td>0.460069</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>touching</th>\n",
+              "      <td>0.450371</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>appreciate</th>\n",
+              "      <td>0.450154</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "</div>\n",
+              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-6afa6e27-afe6-4363-bd9b-48d9a11677b7')\"\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 0 24 24\"\n",
+              "       width=\"24px\">\n",
+              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
+              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
+              "  </svg>\n",
+              "      </button>\n",
+              "      \n",
+              "  <style>\n",
+              "    .colab-df-container {\n",
+              "      display:flex;\n",
+              "      flex-wrap:wrap;\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",
+              "    [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-6afa6e27-afe6-4363-bd9b-48d9a11677b7 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-6afa6e27-afe6-4363-bd9b-48d9a11677b7');\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",
+              "  </div>\n",
+              "  "
+            ]
+          },
+          "metadata": {},
+          "execution_count": 87
+        }
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "df_low_avg.nlargest(20,\"score\")"
+      ],
+      "metadata": {
+        "id": "szxynupe7LBV",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 708
+        },
+        "outputId": "50ac8fa9-e0a9-4672-fbc2-e30deb0fd322"
+      },
+      "execution_count": null,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "                 score\n",
+              "tokens                \n",
+              "rubbish       0.956431\n",
+              "horrible      0.905623\n",
+              "doubt         0.738610\n",
+              "wrong         0.735224\n",
+              "waste         0.620872\n",
+              "too           0.587800\n",
+              "apologize     0.582547\n",
+              "cannot        0.563062\n",
+              "disappointed  0.555120\n",
+              "no            0.546905\n",
+              "not           0.493041\n",
+              "bad           0.478467\n",
+              "awful         0.478381\n",
+              "lear          0.475673\n",
+              "un            0.462937\n",
+              "complain      0.452094\n",
+              "sorry         0.450628\n",
+              "weak          0.441655\n",
+              "worst         0.436304\n",
+              "terrible      0.420429"
+            ],
+            "text/html": [
+              "\n",
+              "  <div id=\"df-b77d6c88-0234-4f0e-96c4-1f7d28edb54a\">\n",
+              "    <div 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>score</th>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>tokens</th>\n",
+              "      <th></th>\n",
+              "    </tr>\n",
+              "  </thead>\n",
+              "  <tbody>\n",
+              "    <tr>\n",
+              "      <th>rubbish</th>\n",
+              "      <td>0.956431</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>horrible</th>\n",
+              "      <td>0.905623</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>doubt</th>\n",
+              "      <td>0.738610</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>wrong</th>\n",
+              "      <td>0.735224</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>waste</th>\n",
+              "      <td>0.620872</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>too</th>\n",
+              "      <td>0.587800</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>apologize</th>\n",
+              "      <td>0.582547</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>cannot</th>\n",
+              "      <td>0.563062</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>disappointed</th>\n",
+              "      <td>0.555120</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>no</th>\n",
+              "      <td>0.546905</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>not</th>\n",
+              "      <td>0.493041</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>bad</th>\n",
+              "      <td>0.478467</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>awful</th>\n",
+              "      <td>0.478381</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>lear</th>\n",
+              "      <td>0.475673</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>un</th>\n",
+              "      <td>0.462937</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>complain</th>\n",
+              "      <td>0.452094</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>sorry</th>\n",
+              "      <td>0.450628</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>weak</th>\n",
+              "      <td>0.441655</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>worst</th>\n",
+              "      <td>0.436304</td>\n",
+              "    </tr>\n",
+              "    <tr>\n",
+              "      <th>terrible</th>\n",
+              "      <td>0.420429</td>\n",
+              "    </tr>\n",
+              "  </tbody>\n",
+              "</table>\n",
+              "</div>\n",
+              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b77d6c88-0234-4f0e-96c4-1f7d28edb54a')\"\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 0 24 24\"\n",
+              "       width=\"24px\">\n",
+              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
+              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
+              "  </svg>\n",
+              "      </button>\n",
+              "      \n",
+              "  <style>\n",
+              "    .colab-df-container {\n",
+              "      display:flex;\n",
+              "      flex-wrap:wrap;\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",
+              "    [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-b77d6c88-0234-4f0e-96c4-1f7d28edb54a 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-b77d6c88-0234-4f0e-96c4-1f7d28edb54a');\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",
+              "  </div>\n",
+              "  "
+            ]
+          },
+          "metadata": {},
+          "execution_count": 88
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "-XRoTAe-50e1"
+      },
+      "source": [
+        "## 3.2 Classification de tokens : entités nommées"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "### ▶▶ Exercice : Explication de modèle de reconnaissance d'entités nommées\n",
+        "\n",
+        "On définit ci-dessous un modèle de reconnaissance d'entités nommées.\n",
+        "Utilisez l'outil d'explicabilité pour une tâche de classification de token, et affichez les attributions pour un exemple."
+      ],
+      "metadata": {
+        "id": "jwvarY88mHD4"
+      }
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "s881ijMF50e1",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 1000,
+          "referenced_widgets": [
+            "604728efd7124bfbba708fd989582fe6",
+            "678ae63c0c354be886a4eb99ecb197dd",
+            "367b69d3db5f4bba9e3d57d8ae3fe0ce",
+            "9d6b715fe2ff419bb0e9e0f9817ed280",
+            "6a758b1b2d024750ab05ac248ce1f80a",
+            "b2c21ad1951a4742850955a24a9cfcdd",
+            "1d96b24c4aed45f5a3ac035cc8a532c5",
+            "8441bc42dfa54fcd80bd9cb23b855348",
+            "5c81ecb4f86644f1857de6adeed504b4",
+            "3165019540854f7e9fc0a66768a49bc6",
+            "626ec59b6f814639a4620288371b94b5",
+            "3fad33f0a8b241e483a20037a73d6d91",
+            "ad62af65a32f42d1801c6a157cf82639",
+            "5c73b74a7ee948c69981a0e8d4788db6",
+            "8ff018e97972473093adc4166760cf1d",
+            "75883b5e8a2741e7a4e4d1799bd1e084",
+            "c0408e189aa44fbd8e97a8dbc6931444",
+            "ce623be3c2c0469fb85db8d953fd8940",
+            "8adb8c0801594eb8bef065d1b2daf0bb",
+            "99c0d9fd187846a6aaf61088eb7c566a",
+            "9aa2d79693d748d59c11f3037b556048",
+            "59d0c7a1fe6b4a8c9f3d8d9d27f7ceac",
+            "1422ab118aeb45359be121ae753f431b",
+            "fc985bef023740beb783e793d4d9298c",
+            "0aaab6aad08a4e55a220bfdd401a3e84",
+            "8c7e48253e6e4ac7bbee5eca600e5af2",
+            "ae599e9537454f6e8aabbd1d44c9afd9",
+            "7de5829e22bc4de794e3296f343897f5",
+            "05201d7c6d34421099fcda145e9c3b69",
+            "5413c943e40e46cfade34ba453d77dbf",
+            "9a055b38f6054d9284fd48a8d272d867",
+            "52042c14e1eb4465be59a45d49a8cea4",
+            "b1f4c471c262491790560af0f8d93f45",
+            "8910247048d64343a8e8937d96d72e9b",
+            "7d5cae2d1db04865af62eef7b8634376",
+            "23ac5178d5d94666ad9469779b943da9",
+            "e85f8086a0c74692b43da84e8655eba5",
+            "34fc513f2ee043a8b19cc115d97bc930",
+            "6fc5ecfac8144a0e8d137d1f5bf8cee2",
+            "0f4ac12493c44672846275ce88b28a58",
+            "eb004831fc404b67ae556c166a9b5d69",
+            "0fb123a5c5c4405f807a98a34ebdf93f",
+            "bc6d1718b78c447890283a1dbebc8d23",
+            "4e54c874458e429e96aa24d55d7344f3",
+            "bf1dcc3d402f479193ae0e16a7d51515",
+            "6adca99ab96a449c9e224139ab4bb7ba",
+            "2d2b356d83b14a6082dea356586bc2c8",
+            "03437bd4548140b1a4d5567749026694",
+            "aca4af16745841ada91a217d9564f123",
+            "cea9e35e91e34124be33a525caf5048d",
+            "2746340f025f41f09585c10a59376191",
+            "beeb5a4e6c4746af86d3d6869c076667",
+            "bc3508b4bf9840e5968248774dab3328",
+            "42493a24fd4d41fcb8284cf33a19e6f0",
+            "f3e4ddbd79eb44cc8bf7316a956ca43f",
+            "b95668a1e54940318d875961ad937622",
+            "f87b6ccdba284777ac642ca1e7357ee1",
+            "d61d6d267e2a41b2b5a247c7a6ec1830",
+            "ff49d929d7404b4c86dcf1498b56e7fb",
+            "7f9e60151f3e47a2a23171e04c07b2d4",
+            "0232c7e956e84f768c78b50fed77998c",
+            "1f6d36af76a54f35853398b0e12a8c2f",
+            "9e6ae68f81af4b8d8f751a984ce2f195",
+            "ed09dfa0140c4208afc2d645f471a1f4",
+            "cc16b48c9ee6447697d1127a8803476c",
+            "76e9bef7bdad4344a35b35b082f251f6"
+          ]
+        },
+        "outputId": "283dbd8f-571b-489a-9f39-4bae2eaa16df"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading (…)lve/main/config.json:   0%|          | 0.00/829 [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "604728efd7124bfbba708fd989582fe6"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "loading configuration file config.json from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/config.json\n",
+            "Model config BertConfig {\n",
+            "  \"_name_or_path\": \"dslim/bert-base-NER\",\n",
+            "  \"_num_labels\": 9,\n",
+            "  \"architectures\": [\n",
+            "    \"BertForTokenClassification\"\n",
+            "  ],\n",
+            "  \"attention_probs_dropout_prob\": 0.1,\n",
+            "  \"classifier_dropout\": null,\n",
+            "  \"hidden_act\": \"gelu\",\n",
+            "  \"hidden_dropout_prob\": 0.1,\n",
+            "  \"hidden_size\": 768,\n",
+            "  \"id2label\": {\n",
+            "    \"0\": \"O\",\n",
+            "    \"1\": \"B-MISC\",\n",
+            "    \"2\": \"I-MISC\",\n",
+            "    \"3\": \"B-PER\",\n",
+            "    \"4\": \"I-PER\",\n",
+            "    \"5\": \"B-ORG\",\n",
+            "    \"6\": \"I-ORG\",\n",
+            "    \"7\": \"B-LOC\",\n",
+            "    \"8\": \"I-LOC\"\n",
+            "  },\n",
+            "  \"initializer_range\": 0.02,\n",
+            "  \"intermediate_size\": 3072,\n",
+            "  \"label2id\": {\n",
+            "    \"B-LOC\": 7,\n",
+            "    \"B-MISC\": 1,\n",
+            "    \"B-ORG\": 5,\n",
+            "    \"B-PER\": 3,\n",
+            "    \"I-LOC\": 8,\n",
+            "    \"I-MISC\": 2,\n",
+            "    \"I-ORG\": 6,\n",
+            "    \"I-PER\": 4,\n",
+            "    \"O\": 0\n",
+            "  },\n",
+            "  \"layer_norm_eps\": 1e-12,\n",
+            "  \"max_position_embeddings\": 512,\n",
+            "  \"model_type\": \"bert\",\n",
+            "  \"num_attention_heads\": 12,\n",
+            "  \"num_hidden_layers\": 12,\n",
+            "  \"output_past\": true,\n",
+            "  \"pad_token_id\": 0,\n",
+            "  \"position_embedding_type\": \"absolute\",\n",
+            "  \"transformers_version\": \"4.26.0\",\n",
+            "  \"type_vocab_size\": 2,\n",
+            "  \"use_cache\": true,\n",
+            "  \"vocab_size\": 28996\n",
+            "}\n",
+            "\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading (…)\"pytorch_model.bin\";:   0%|          | 0.00/433M [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "3fad33f0a8b241e483a20037a73d6d91"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "loading weights file pytorch_model.bin from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/pytorch_model.bin\n",
+            "All model checkpoint weights were used when initializing BertForTokenClassification.\n",
+            "\n",
+            "All the weights of BertForTokenClassification were initialized from the model checkpoint at dslim/bert-base-NER.\n",
+            "If your task is similar to the task the model of the checkpoint was trained on, you can already use BertForTokenClassification for predictions without further training.\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading (…)okenizer_config.json:   0%|          | 0.00/59.0 [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "1422ab118aeb45359be121ae753f431b"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "loading configuration file config.json from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/config.json\n",
+            "Model config BertConfig {\n",
+            "  \"_name_or_path\": \"dslim/bert-base-NER\",\n",
+            "  \"_num_labels\": 9,\n",
+            "  \"architectures\": [\n",
+            "    \"BertForTokenClassification\"\n",
+            "  ],\n",
+            "  \"attention_probs_dropout_prob\": 0.1,\n",
+            "  \"classifier_dropout\": null,\n",
+            "  \"hidden_act\": \"gelu\",\n",
+            "  \"hidden_dropout_prob\": 0.1,\n",
+            "  \"hidden_size\": 768,\n",
+            "  \"id2label\": {\n",
+            "    \"0\": \"O\",\n",
+            "    \"1\": \"B-MISC\",\n",
+            "    \"2\": \"I-MISC\",\n",
+            "    \"3\": \"B-PER\",\n",
+            "    \"4\": \"I-PER\",\n",
+            "    \"5\": \"B-ORG\",\n",
+            "    \"6\": \"I-ORG\",\n",
+            "    \"7\": \"B-LOC\",\n",
+            "    \"8\": \"I-LOC\"\n",
+            "  },\n",
+            "  \"initializer_range\": 0.02,\n",
+            "  \"intermediate_size\": 3072,\n",
+            "  \"label2id\": {\n",
+            "    \"B-LOC\": 7,\n",
+            "    \"B-MISC\": 1,\n",
+            "    \"B-ORG\": 5,\n",
+            "    \"B-PER\": 3,\n",
+            "    \"I-LOC\": 8,\n",
+            "    \"I-MISC\": 2,\n",
+            "    \"I-ORG\": 6,\n",
+            "    \"I-PER\": 4,\n",
+            "    \"O\": 0\n",
+            "  },\n",
+            "  \"layer_norm_eps\": 1e-12,\n",
+            "  \"max_position_embeddings\": 512,\n",
+            "  \"model_type\": \"bert\",\n",
+            "  \"num_attention_heads\": 12,\n",
+            "  \"num_hidden_layers\": 12,\n",
+            "  \"output_past\": true,\n",
+            "  \"pad_token_id\": 0,\n",
+            "  \"position_embedding_type\": \"absolute\",\n",
+            "  \"transformers_version\": \"4.26.0\",\n",
+            "  \"type_vocab_size\": 2,\n",
+            "  \"use_cache\": true,\n",
+            "  \"vocab_size\": 28996\n",
+            "}\n",
+            "\n"
+          ]
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading (…)solve/main/vocab.txt:   0%|          | 0.00/213k [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "8910247048d64343a8e8937d96d72e9b"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading (…)in/added_tokens.json:   0%|          | 0.00/2.00 [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "bf1dcc3d402f479193ae0e16a7d51515"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "Downloading (…)cial_tokens_map.json:   0%|          | 0.00/112 [00:00<?, ?B/s]"
+            ],
+            "application/vnd.jupyter.widget-view+json": {
+              "version_major": 2,
+              "version_minor": 0,
+              "model_id": "b95668a1e54940318d875961ad937622"
+            }
+          },
+          "metadata": {}
+        },
+        {
+          "output_type": "stream",
+          "name": "stderr",
+          "text": [
+            "loading file vocab.txt from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/vocab.txt\n",
+            "loading file tokenizer.json from cache at None\n",
+            "loading file added_tokens.json from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/added_tokens.json\n",
+            "loading file special_tokens_map.json from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/special_tokens_map.json\n",
+            "loading file tokenizer_config.json from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/tokenizer_config.json\n",
+            "loading configuration file config.json from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/config.json\n",
+            "Model config BertConfig {\n",
+            "  \"_name_or_path\": \"dslim/bert-base-NER\",\n",
+            "  \"_num_labels\": 9,\n",
+            "  \"architectures\": [\n",
+            "    \"BertForTokenClassification\"\n",
+            "  ],\n",
+            "  \"attention_probs_dropout_prob\": 0.1,\n",
+            "  \"classifier_dropout\": null,\n",
+            "  \"hidden_act\": \"gelu\",\n",
+            "  \"hidden_dropout_prob\": 0.1,\n",
+            "  \"hidden_size\": 768,\n",
+            "  \"id2label\": {\n",
+            "    \"0\": \"O\",\n",
+            "    \"1\": \"B-MISC\",\n",
+            "    \"2\": \"I-MISC\",\n",
+            "    \"3\": \"B-PER\",\n",
+            "    \"4\": \"I-PER\",\n",
+            "    \"5\": \"B-ORG\",\n",
+            "    \"6\": \"I-ORG\",\n",
+            "    \"7\": \"B-LOC\",\n",
+            "    \"8\": \"I-LOC\"\n",
+            "  },\n",
+            "  \"initializer_range\": 0.02,\n",
+            "  \"intermediate_size\": 3072,\n",
+            "  \"label2id\": {\n",
+            "    \"B-LOC\": 7,\n",
+            "    \"B-MISC\": 1,\n",
+            "    \"B-ORG\": 5,\n",
+            "    \"B-PER\": 3,\n",
+            "    \"I-LOC\": 8,\n",
+            "    \"I-MISC\": 2,\n",
+            "    \"I-ORG\": 6,\n",
+            "    \"I-PER\": 4,\n",
+            "    \"O\": 0\n",
+            "  },\n",
+            "  \"layer_norm_eps\": 1e-12,\n",
+            "  \"max_position_embeddings\": 512,\n",
+            "  \"model_type\": \"bert\",\n",
+            "  \"num_attention_heads\": 12,\n",
+            "  \"num_hidden_layers\": 12,\n",
+            "  \"output_past\": true,\n",
+            "  \"pad_token_id\": 0,\n",
+            "  \"position_embedding_type\": \"absolute\",\n",
+            "  \"transformers_version\": \"4.26.0\",\n",
+            "  \"type_vocab_size\": 2,\n",
+            "  \"use_cache\": true,\n",
+            "  \"vocab_size\": 28996\n",
+            "}\n",
+            "\n",
+            "loading configuration file config.json from cache at /root/.cache/huggingface/hub/models--dslim--bert-base-NER/snapshots/f7c2808a659015eeb8828f3f809a2f1be67a2446/config.json\n",
+            "Model config BertConfig {\n",
+            "  \"_name_or_path\": \"dslim/bert-base-NER\",\n",
+            "  \"_num_labels\": 9,\n",
+            "  \"architectures\": [\n",
+            "    \"BertForTokenClassification\"\n",
+            "  ],\n",
+            "  \"attention_probs_dropout_prob\": 0.1,\n",
+            "  \"classifier_dropout\": null,\n",
+            "  \"hidden_act\": \"gelu\",\n",
+            "  \"hidden_dropout_prob\": 0.1,\n",
+            "  \"hidden_size\": 768,\n",
+            "  \"id2label\": {\n",
+            "    \"0\": \"O\",\n",
+            "    \"1\": \"B-MISC\",\n",
+            "    \"2\": \"I-MISC\",\n",
+            "    \"3\": \"B-PER\",\n",
+            "    \"4\": \"I-PER\",\n",
+            "    \"5\": \"B-ORG\",\n",
+            "    \"6\": \"I-ORG\",\n",
+            "    \"7\": \"B-LOC\",\n",
+            "    \"8\": \"I-LOC\"\n",
+            "  },\n",
+            "  \"initializer_range\": 0.02,\n",
+            "  \"intermediate_size\": 3072,\n",
+            "  \"label2id\": {\n",
+            "    \"B-LOC\": 7,\n",
+            "    \"B-MISC\": 1,\n",
+            "    \"B-ORG\": 5,\n",
+            "    \"B-PER\": 3,\n",
+            "    \"I-LOC\": 8,\n",
+            "    \"I-MISC\": 2,\n",
+            "    \"I-ORG\": 6,\n",
+            "    \"I-PER\": 4,\n",
+            "    \"O\": 0\n",
+            "  },\n",
+            "  \"layer_norm_eps\": 1e-12,\n",
+            "  \"max_position_embeddings\": 512,\n",
+            "  \"model_type\": \"bert\",\n",
+            "  \"num_attention_heads\": 12,\n",
+            "  \"num_hidden_layers\": 12,\n",
+            "  \"output_past\": true,\n",
+            "  \"pad_token_id\": 0,\n",
+            "  \"position_embedding_type\": \"absolute\",\n",
+            "  \"transformers_version\": \"4.26.0\",\n",
+            "  \"type_vocab_size\": 2,\n",
+            "  \"use_cache\": true,\n",
+            "  \"vocab_size\": 28996\n",
+            "}\n",
+            "\n"
+          ]
+        }
+      ],
+      "source": [
+        "model_name = 'dslim/bert-base-NER'\n",
+        "model = AutoModelForTokenClassification.from_pretrained(model_name)\n",
+        "tokenizer = AutoTokenizer.from_pretrained(model_name)"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "gIBA1tnP50e1"
+      },
+      "outputs": [],
+      "source": [
+        "ner_explainer = TokenClassificationExplainer(model=model, tokenizer=tokenizer)"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "D7f05OD550e1"
+      },
+      "outputs": [],
+      "source": [
+        "instance = \"New-York City is a place full of celebrities, like Donald Trump.\""
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "Z4ep0_VL50e2"
+      },
+      "outputs": [],
+      "source": [
+        "attributions = ner_explainer(instance, ignored_labels=['O'])"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "5i5qiujC50e2",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        },
+        "outputId": "37226223-c33b-4fb1-c7d2-65be63956910"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "{'New': {'label': 'B-LOC',\n",
+              "  'attribution_scores': [('[CLS]', 0.0),\n",
+              "   ('New', 0.1152263737548048),\n",
+              "   ('-', 0.46603848636622286),\n",
+              "   ('York', 0.6893381904037938),\n",
+              "   ('City', 0.5121532191402767),\n",
+              "   ('is', 0.13319084594186978),\n",
+              "   ('a', 0.0218192290333258),\n",
+              "   ('place', 0.10400881276180558),\n",
+              "   ('full', -0.0225784381906766),\n",
+              "   ('of', -0.0020050147303111504),\n",
+              "   ('celebrities', 0.006248961981265845),\n",
+              "   (',', 0.03019812254600892),\n",
+              "   ('like', 0.009767104508417121),\n",
+              "   ('Donald', -0.005156496527404542),\n",
+              "   ('Trump', 0.009757538902118628),\n",
+              "   ('.', 0.036431588254490506),\n",
+              "   ('[SEP]', 0.0)]},\n",
+              " '-': {'label': 'I-LOC',\n",
+              "  'attribution_scores': [('[CLS]', 0.0),\n",
+              "   ('New', 0.822296035976172),\n",
+              "   ('-', 0.2991285949629092),\n",
+              "   ('York', 0.47518057018527676),\n",
+              "   ('City', -0.03536220094255385),\n",
+              "   ('is', 0.05356126908509579),\n",
+              "   ('a', 0.029608249655954023),\n",
+              "   ('place', -0.017305798892184924),\n",
+              "   ('full', 0.009172928915006318),\n",
+              "   ('of', 0.018796735562098058),\n",
+              "   ('celebrities', -0.022613700966464034),\n",
+              "   (',', 0.02793702240929534),\n",
+              "   ('like', -0.007824794450507256),\n",
+              "   ('Donald', -0.009188010053213595),\n",
+              "   ('Trump', -0.02538116521418082),\n",
+              "   ('.', 0.02720547036097054),\n",
+              "   ('[SEP]', 0.0)]},\n",
+              " 'York': {'label': 'I-LOC',\n",
+              "  'attribution_scores': [('[CLS]', 0.0),\n",
+              "   ('New', 0.5337487385389322),\n",
+              "   ('-', 0.2599881588100973),\n",
+              "   ('York', 0.760698037530082),\n",
+              "   ('City', 0.2446653018946348),\n",
+              "   ('is', 0.06205636341378641),\n",
+              "   ('a', -0.027586963461350995),\n",
+              "   ('place', 0.025106252142951896),\n",
+              "   ('full', -0.05140024436564111),\n",
+              "   ('of', -0.019691609176230692),\n",
+              "   ('celebrities', -0.006924858794352119),\n",
+              "   (',', -0.012906337496774958),\n",
+              "   ('like', -0.015183925146487308),\n",
+              "   ('Donald', -0.01204039634291498),\n",
+              "   ('Trump', 0.01127964153547774),\n",
+              "   ('.', 0.002538817378056633),\n",
+              "   ('[SEP]', 0.0)]},\n",
+              " 'City': {'label': 'I-LOC',\n",
+              "  'attribution_scores': [('[CLS]', 0.0),\n",
+              "   ('New', -0.0871933602852997),\n",
+              "   ('-', -0.05249028275131834),\n",
+              "   ('York', 0.5869292302622858),\n",
+              "   ('City', 0.7707565139463353),\n",
+              "   ('is', 0.11985654993684679),\n",
+              "   ('a', 0.04739014819264039),\n",
+              "   ('place', 0.18055896085095352),\n",
+              "   ('full', 0.008286897987880206),\n",
+              "   ('of', 0.011989923889749092),\n",
+              "   ('celebrities', -0.0032475236083206235),\n",
+              "   (',', 0.031248380244698455),\n",
+              "   ('like', 0.02161511113592928),\n",
+              "   ('Donald', 0.0056803764985796385),\n",
+              "   ('Trump', 0.004046145546989419),\n",
+              "   ('.', 0.012740342569113857),\n",
+              "   ('[SEP]', 0.0)]},\n",
+              " 'Donald': {'label': 'B-PER',\n",
+              "  'attribution_scores': [('[CLS]', 0.0),\n",
+              "   ('New', -0.013149759162410738),\n",
+              "   ('-', 0.0378981983949712),\n",
+              "   ('York', 0.025402688960162036),\n",
+              "   ('City', 0.008721890402059758),\n",
+              "   ('is', 0.014231865840905092),\n",
+              "   ('a', 0.02736637897073334),\n",
+              "   ('place', -0.019735090008239354),\n",
+              "   ('full', -0.012471959788710798),\n",
+              "   ('of', 0.03221012949356266),\n",
+              "   ('celebrities', 0.024813050405665362),\n",
+              "   (',', -0.017656228425442785),\n",
+              "   ('like', 0.2729820610317324),\n",
+              "   ('Donald', 0.7191805751306489),\n",
+              "   ('Trump', 0.6334538244660348),\n",
+              "   ('.', -0.034704161367750404),\n",
+              "   ('[SEP]', 0.0)]},\n",
+              " 'Trump': {'label': 'I-PER',\n",
+              "  'attribution_scores': [('[CLS]', 0.0),\n",
+              "   ('New', -0.001321285459759489),\n",
+              "   ('-', 0.016093381554629152),\n",
+              "   ('York', 0.04688259729308178),\n",
+              "   ('City', 0.013796291436925668),\n",
+              "   ('is', 0.0035908986497817036),\n",
+              "   ('a', 0.0242113979040241),\n",
+              "   ('place', 0.0004160781665048657),\n",
+              "   ('full', -0.0007240688385078413),\n",
+              "   ('of', 0.02103574941985579),\n",
+              "   ('celebrities', 0.01816752146973022),\n",
+              "   (',', 0.030742253749527083),\n",
+              "   ('like', 0.15109025407239116),\n",
+              "   ('Donald', 0.7343402468091149),\n",
+              "   ('Trump', 0.65626083189897),\n",
+              "   ('.', -0.047658868540296724),\n",
+              "   ('[SEP]', 0.0)]}}"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 93
+        }
+      ],
+      "source": [
+        "attributions"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "dm58uxm_50e2",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 252
+        },
+        "outputId": "c774d436-f291-488f-a2ce-8a56cb51e659"
+      },
+      "outputs": [
+        {
+          "output_type": "display_data",
+          "data": {
+            "text/plain": [
+              "<IPython.core.display.HTML object>"
+            ],
+            "text/html": [
+              "<table width: 100%><div style=\"border-top: 1px solid; margin-top: 5px;             padding-top: 5px; display: inline-block\"><b>Legend: </b><span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(0, 75%, 60%)\"></span> Negative  <span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(0, 75%, 100%)\"></span> Neutral  <span style=\"display: inline-block; width: 10px; height: 10px;                 border: 1px solid; background-color:                 hsl(120, 75%, 50%)\"></span> Positive  </div><tr><th>True Label</th><th>Predicted Label</th><th>Attribution Label</th><th>Attribution Score</th><th>Word Importance</th><tr><td><text style=\"padding-right:2em\"><b>B-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>B-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>New</b></text></td><td><text style=\"padding-right:2em\"><b>2.10</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> New                    </font></mark><mark style=\"background-color: hsl(120, 75%, 77%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> -                    </font></mark><mark style=\"background-color: hsl(120, 75%, 66%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> York                    </font></mark><mark style=\"background-color: hsl(120, 75%, 75%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> City                    </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> place                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> full                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> celebrities                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> like                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Donald                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Trump                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>I-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>-</b></text></td><td><text style=\"padding-right:2em\"><b>1.65</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(120, 75%, 59%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> New                    </font></mark><mark style=\"background-color: hsl(120, 75%, 86%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> -                    </font></mark><mark style=\"background-color: hsl(120, 75%, 77%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> York                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> City                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> place                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> full                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> celebrities                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> like                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Donald                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Trump                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>I-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>York</b></text></td><td><text style=\"padding-right:2em\"><b>1.75</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(120, 75%, 74%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> New                    </font></mark><mark style=\"background-color: hsl(120, 75%, 88%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> -                    </font></mark><mark style=\"background-color: hsl(120, 75%, 62%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> York                    </font></mark><mark style=\"background-color: hsl(120, 75%, 88%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> City                    </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> place                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> full                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> celebrities                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> like                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Donald                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Trump                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>I-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>City</b></text></td><td><text style=\"padding-right:2em\"><b>1.66</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> New                    </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> -                    </font></mark><mark style=\"background-color: hsl(120, 75%, 71%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> York                    </font></mark><mark style=\"background-color: hsl(120, 75%, 62%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> City                    </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 91%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> place                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> full                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> celebrities                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> like                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Donald                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Trump                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>B-PER</b></text></td><td><text style=\"padding-right:2em\"><b>B-PER (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>Donald</b></text></td><td><text style=\"padding-right:2em\"><b>1.70</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> New                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> -                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> York                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> City                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> place                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> full                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> celebrities                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 87%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> like                    </font></mark><mark style=\"background-color: hsl(120, 75%, 65%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Donald                    </font></mark><mark style=\"background-color: hsl(120, 75%, 69%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Trump                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-PER</b></text></td><td><text style=\"padding-right:2em\"><b>I-PER (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>Trump</b></text></td><td><text style=\"padding-right:2em\"><b>1.67</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [CLS]                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> New                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> -                    </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> York                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> City                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> is                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> a                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> place                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> full                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> of                    </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> celebrities                    </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> ,                    </font></mark><mark style=\"background-color: hsl(120, 75%, 93%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> like                    </font></mark><mark style=\"background-color: hsl(120, 75%, 64%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Donald                    </font></mark><mark style=\"background-color: hsl(120, 75%, 68%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> Trump                    </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> .                    </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0;                     line-height:1.75\"><font color=\"black\"> [SEP]                    </font></mark></td><tr></table>"
+            ]
+          },
+          "metadata": {}
+        }
+      ],
+      "source": [
+        "html = ner_explainer.visualize()"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {
+        "id": "VSn32SrQ50e3"
+      },
+      "outputs": [],
+      "source": []
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "# Additional notes about HuggingFace dataset"
+      ],
+      "metadata": {
+        "id": "-bUnXTbbGp5e"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### Available corpora\n",
+        "\n",
+        "Note that many corpora are available directly from HuggingFace, for example for text classification tasks:\n",
+        "https://huggingface.co/models?pipeline_tag=text-classification&sort=downloads\n",
+        "\n",
+        "\n",
+        "In particular you can directly load the full AlloCine corpus:\n",
+        "https://huggingface.co/datasets/allocine"
+      ],
+      "metadata": {
+        "id": "bsbgcxgTJsW2"
+      }
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "#### Some preprocessing\n",
+        "\n",
+        "The library allows to perform some preprocessing directly on the Dataset object, very easily.\n",
+        "Take alook at the doc: https://huggingface.co/course/chapter5/3?fw=pt \n",
+        "\n",
+        "For example here we can compute the lenght of each review and filter our dataset to excluse outliers, e.g. reviews with too few words."
+      ],
+      "metadata": {
+        "id": "FLvU5EYUCnVK"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "def compute_review_length(example):\n",
+        "    return {\"review_length\": len(example[\"review\"].split())}\n",
+        "\n",
+        "dataset = dataset.map(compute_review_length) #Add the column review_lenght\n",
+        "# Inspect the first training example\n",
+        "dataset[\"train\"][0]"
+      ],
+      "metadata": {
+        "id": "SgeXPXp6JmZU"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "markdown",
+      "source": [
+        "Some review are very short... Dataset.filter() can be used to remove some examples."
+      ],
+      "metadata": {
+        "id": "6fL34GWd53ij"
+      }
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "dataset[\"train\"].sort(\"review_length\")[:3]"
+      ],
+      "metadata": {
+        "id": "56Lv3xpAJmb5"
+      },
+      "execution_count": null,
+      "outputs": []
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "filtered_dataset = dataset.filter(lambda x: x[\"review_length\"] > 10)\n",
+        "print(filtered_dataset.num_rows)"
+      ],
+      "metadata": {
+        "id": "UuDpP1JyF-6a"
+      },
+      "execution_count": null,
+      "outputs": []
+    }
+  ],
+  "metadata": {
+    "kernelspec": {
+      "display_name": "visual",
+      "language": "python",
+      "name": "visual"
+    },
+    "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.5"
+    },
+    "colab": {
+      "provenance": [],
+      "collapsed_sections": [
+        "-XRoTAe-50e1"
+      ]
+    },
+    "accelerator": "GPU",
+    "gpuClass": "standard",
+    "widgets": {
+      "application/vnd.jupyter.widget-state+json": {
+        "a3d5065721064cca86aa2c1598053db3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_3b3b877997064cf3b347ec7f9a8c06e4",
+              "IPY_MODEL_96cdb560d9e44145a0b6cc056e2ea203",
+              "IPY_MODEL_1040d9777c574afaa6d6c2ec893118a3"
+            ],
+            "layout": "IPY_MODEL_d10a06291f9e42959ff48506522f22c1"
+          }
+        },
+        "3b3b877997064cf3b347ec7f9a8c06e4": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_3d4897a33b1841b9a86e953bd1fa1dc8",
+            "placeholder": "​",
+            "style": "IPY_MODEL_9f3eb343824d4c2183effbc9d9bfc02d",
+            "value": "100%"
+          }
+        },
+        "96cdb560d9e44145a0b6cc056e2ea203": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_2b4f0593254a45b58e2fc10b0002d5b3",
+            "max": 3,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_a8b5d0884e1e4b88bfa7ad086b8d89a3",
+            "value": 3
+          }
+        },
+        "1040d9777c574afaa6d6c2ec893118a3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_d84e6735e79f42ab8a4a2fe7bf018738",
+            "placeholder": "​",
+            "style": "IPY_MODEL_79140d592a7c47448c33ac343e1685f3",
+            "value": " 3/3 [00:00&lt;00:00, 119.85it/s]"
+          }
+        },
+        "d10a06291f9e42959ff48506522f22c1": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "3d4897a33b1841b9a86e953bd1fa1dc8": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "9f3eb343824d4c2183effbc9d9bfc02d": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "2b4f0593254a45b58e2fc10b0002d5b3": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "a8b5d0884e1e4b88bfa7ad086b8d89a3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "d84e6735e79f42ab8a4a2fe7bf018738": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "79140d592a7c47448c33ac343e1685f3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "d03bc5ca5b7544e588501cd35f363c56": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_194d05a19eb14a7f966050b4b5349440",
+              "IPY_MODEL_997b829462b2433985a1091ccf68b9b4",
+              "IPY_MODEL_e5b1beb0758d42fca526298a4a81fb6b"
+            ],
+            "layout": "IPY_MODEL_9cfcc16ba77a45038d3dcaef27e34f9a"
+          }
+        },
+        "194d05a19eb14a7f966050b4b5349440": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_90c1da51b4a94fc994c069bb4cb5179c",
+            "placeholder": "​",
+            "style": "IPY_MODEL_d2ec646a77b2494fbc80157722f82948",
+            "value": "Downloading builder script: 100%"
+          }
+        },
+        "997b829462b2433985a1091ccf68b9b4": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_9ab3c85ad9ea487b919ceb0bae41a86a",
+            "max": 4313,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_5bf1d48f85b64a9cba222426f52c20af",
+            "value": 4313
+          }
+        },
+        "e5b1beb0758d42fca526298a4a81fb6b": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_76696050b2384092ad22bb464b52bec6",
+            "placeholder": "​",
+            "style": "IPY_MODEL_dd6ce682a98845e5b10d9f780f1babb7",
+            "value": " 4.31k/4.31k [00:00&lt;00:00, 217kB/s]"
+          }
+        },
+        "9cfcc16ba77a45038d3dcaef27e34f9a": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "90c1da51b4a94fc994c069bb4cb5179c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "d2ec646a77b2494fbc80157722f82948": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "9ab3c85ad9ea487b919ceb0bae41a86a": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "5bf1d48f85b64a9cba222426f52c20af": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "76696050b2384092ad22bb464b52bec6": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "dd6ce682a98845e5b10d9f780f1babb7": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "bb8c7b49888b489ca1ec799526bf7508": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_de7ff51ef87c41d894e1af424ae78828",
+              "IPY_MODEL_f02fe40848b6400c9a430b607b9b94a8",
+              "IPY_MODEL_8af52f3b43064afebbde111652c7fd82"
+            ],
+            "layout": "IPY_MODEL_065871770a9c4dbea7f7acc114b24561"
+          }
+        },
+        "de7ff51ef87c41d894e1af424ae78828": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_4be4ff45e240406aa52f02884d47dc70",
+            "placeholder": "​",
+            "style": "IPY_MODEL_4a72d4a90c0e4f44b28e7afcbce5294f",
+            "value": "Downloading metadata: 100%"
+          }
+        },
+        "f02fe40848b6400c9a430b607b9b94a8": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_f54dcc594a7d41c1a4fc472c3997f89d",
+            "max": 2166,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_2a608fb16a114631ade6aaf955e3e5f7",
+            "value": 2166
+          }
+        },
+        "8af52f3b43064afebbde111652c7fd82": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_371aaf5effbb46b5b0423f347e4cf53c",
+            "placeholder": "​",
+            "style": "IPY_MODEL_39d97cfa841d4f569dcff884f565fd2f",
+            "value": " 2.17k/2.17k [00:00&lt;00:00, 156kB/s]"
+          }
+        },
+        "065871770a9c4dbea7f7acc114b24561": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "4be4ff45e240406aa52f02884d47dc70": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "4a72d4a90c0e4f44b28e7afcbce5294f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "f54dcc594a7d41c1a4fc472c3997f89d": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "2a608fb16a114631ade6aaf955e3e5f7": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "371aaf5effbb46b5b0423f347e4cf53c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "39d97cfa841d4f569dcff884f565fd2f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "c90c1fd14779491e81d9db566c718fd1": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_be46d8a47d574ba891575b3e6ae3ac6b",
+              "IPY_MODEL_52a59d65ab684795bf18ab611ff77e0e",
+              "IPY_MODEL_fccd6a00da63457d83100c51e0288ad6"
+            ],
+            "layout": "IPY_MODEL_45cd9475b66f4b20a7cfd52cd3f3500e"
+          }
+        },
+        "be46d8a47d574ba891575b3e6ae3ac6b": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_7a1989336a6b44db97a822791de2b745",
+            "placeholder": "​",
+            "style": "IPY_MODEL_69ef45c9273344699951491f47dd7b8a",
+            "value": "Downloading readme: 100%"
+          }
+        },
+        "52a59d65ab684795bf18ab611ff77e0e": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_49ced039effc4042b10f52698351ae54",
+            "max": 7590,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_f1daa5d41988465ba42481a82eff9b7f",
+            "value": 7590
+          }
+        },
+        "fccd6a00da63457d83100c51e0288ad6": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_a4ea87de1a2b4fa8bdcfa67f7b6ee0df",
+            "placeholder": "​",
+            "style": "IPY_MODEL_51f6c6fd3bd841b3976a7307f67fa796",
+            "value": " 7.59k/7.59k [00:00&lt;00:00, 470kB/s]"
+          }
+        },
+        "45cd9475b66f4b20a7cfd52cd3f3500e": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "7a1989336a6b44db97a822791de2b745": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "69ef45c9273344699951491f47dd7b8a": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "49ced039effc4042b10f52698351ae54": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "f1daa5d41988465ba42481a82eff9b7f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "a4ea87de1a2b4fa8bdcfa67f7b6ee0df": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "51f6c6fd3bd841b3976a7307f67fa796": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "ed49e86c8ab54c30ad909183530aee8b": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_07c207aaecc74309ac2589317075ad19",
+              "IPY_MODEL_f0dfd6e0772f40f296bc57d97b92843b",
+              "IPY_MODEL_7312717db5b54342964f4a68afdfb669"
+            ],
+            "layout": "IPY_MODEL_c6607c54f58a40aab5ff6b183718c6b9"
+          }
+        },
+        "07c207aaecc74309ac2589317075ad19": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_bf88a467975e4a09b518eeb4e9a4e6e8",
+            "placeholder": "​",
+            "style": "IPY_MODEL_7cc436e1a1b6460e8854e9b30386ac8a",
+            "value": "Downloading data: 100%"
+          }
+        },
+        "f0dfd6e0772f40f296bc57d97b92843b": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_7263970b0d7b46b682d1dd55077d0ab5",
+            "max": 84125825,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_231c18f4ec3046c18a097a071b686f34",
+            "value": 84125825
+          }
+        },
+        "7312717db5b54342964f4a68afdfb669": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_0e3226a821c94ba7a6d8ac1390057998",
+            "placeholder": "​",
+            "style": "IPY_MODEL_c46d29fa23e944a6b9d88c5fb6c1eab9",
+            "value": " 84.1M/84.1M [00:41&lt;00:00, 13.9MB/s]"
+          }
+        },
+        "c6607c54f58a40aab5ff6b183718c6b9": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "bf88a467975e4a09b518eeb4e9a4e6e8": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "7cc436e1a1b6460e8854e9b30386ac8a": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "7263970b0d7b46b682d1dd55077d0ab5": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "231c18f4ec3046c18a097a071b686f34": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "0e3226a821c94ba7a6d8ac1390057998": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "c46d29fa23e944a6b9d88c5fb6c1eab9": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "aefaf111ea454f7f8e14bc826f708ca8": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_a406c59a05cf4f5fb17f56de827f8c62",
+              "IPY_MODEL_41a88cbcf6544f0c9447b0daab15ea33",
+              "IPY_MODEL_f8dbe293bd444dbcac713cfcde974bb8"
+            ],
+            "layout": "IPY_MODEL_dcfa8cf3b6074c6c80263270c461f8de"
+          }
+        },
+        "a406c59a05cf4f5fb17f56de827f8c62": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_8586079135e049b68e740f4998eb7931",
+            "placeholder": "​",
+            "style": "IPY_MODEL_9b25f3c7fc5e46fba0764c3d1b91819a",
+            "value": "Generating train split: 100%"
+          }
+        },
+        "41a88cbcf6544f0c9447b0daab15ea33": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_a16e98b9001840a78bc1d69bae0e7864",
+            "max": 25000,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_9b494af657c2488793135bd969715201",
+            "value": 25000
+          }
+        },
+        "f8dbe293bd444dbcac713cfcde974bb8": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_cfcf25aa877643dfad8764cc3163054d",
+            "placeholder": "​",
+            "style": "IPY_MODEL_087509144a954843836ee37933f63e8f",
+            "value": " 25000/25000 [00:15&lt;00:00, 10132.64 examples/s]"
+          }
+        },
+        "dcfa8cf3b6074c6c80263270c461f8de": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": "hidden",
+            "width": null
+          }
+        },
+        "8586079135e049b68e740f4998eb7931": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "9b25f3c7fc5e46fba0764c3d1b91819a": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "a16e98b9001840a78bc1d69bae0e7864": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "9b494af657c2488793135bd969715201": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "cfcf25aa877643dfad8764cc3163054d": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "087509144a954843836ee37933f63e8f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "f71b9acdb9204fbb8fa435fa6777c582": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_5a3cccfe2a7f4338a244f59908c04a48",
+              "IPY_MODEL_409e697590c84910bb6020d8560b530a",
+              "IPY_MODEL_c05a22cd264148718d7f7016a71fee73"
+            ],
+            "layout": "IPY_MODEL_4fceeb55f164455a8fb5e66e60b8de87"
+          }
+        },
+        "5a3cccfe2a7f4338a244f59908c04a48": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_dbc6bbf4ecd048eb8b5c2c644ca065e8",
+            "placeholder": "​",
+            "style": "IPY_MODEL_901b7d38a5214c7aa53b5ef6fcec5f21",
+            "value": "Generating test split: 100%"
+          }
+        },
+        "409e697590c84910bb6020d8560b530a": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_256ae746530d43f9961e956f0addd465",
+            "max": 25000,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_9c562549c3fd4aa98f2fecbe0f8dee80",
+            "value": 25000
+          }
+        },
+        "c05a22cd264148718d7f7016a71fee73": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_a40beb6372d441dcbc258a1ffbbe6645",
+            "placeholder": "​",
+            "style": "IPY_MODEL_b9be6a7ee5064f2a978237bd0a8e0278",
+            "value": " 25000/25000 [00:18&lt;00:00, 10144.92 examples/s]"
+          }
+        },
+        "4fceeb55f164455a8fb5e66e60b8de87": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": "hidden",
+            "width": null
+          }
+        },
+        "dbc6bbf4ecd048eb8b5c2c644ca065e8": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "901b7d38a5214c7aa53b5ef6fcec5f21": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "256ae746530d43f9961e956f0addd465": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "9c562549c3fd4aa98f2fecbe0f8dee80": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "a40beb6372d441dcbc258a1ffbbe6645": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "b9be6a7ee5064f2a978237bd0a8e0278": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "2b822d0eee19484a8d22154d2b2e4c1f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_f45a2635f5e04bf19011596a13ec70ab",
+              "IPY_MODEL_c84fbe52351f4a0a977348a555bc14d7",
+              "IPY_MODEL_f0ada7e10008418ca6f99e8f8f508de4"
+            ],
+            "layout": "IPY_MODEL_8c8f939312d94b16a2b7935830b7c21c"
+          }
+        },
+        "f45a2635f5e04bf19011596a13ec70ab": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_d4cf114525774233aa1737563feabb1d",
+            "placeholder": "​",
+            "style": "IPY_MODEL_06825c2cb3884aefae1b140206160a90",
+            "value": "Generating unsupervised split: 100%"
+          }
+        },
+        "c84fbe52351f4a0a977348a555bc14d7": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_a4bbb500723d4c04ad90df472b38f8f5",
+            "max": 50000,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_8946e461345344b0a587e1f191555265",
+            "value": 50000
+          }
+        },
+        "f0ada7e10008418ca6f99e8f8f508de4": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_5413477475a14c64bcbdd7c904b3468f",
+            "placeholder": "​",
+            "style": "IPY_MODEL_9487c761e6a74e9a89474ce166996349",
+            "value": " 49965/50000 [00:08&lt;00:00, 10500.02 examples/s]"
+          }
+        },
+        "8c8f939312d94b16a2b7935830b7c21c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": "hidden",
+            "width": null
+          }
+        },
+        "d4cf114525774233aa1737563feabb1d": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "06825c2cb3884aefae1b140206160a90": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "a4bbb500723d4c04ad90df472b38f8f5": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "8946e461345344b0a587e1f191555265": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "5413477475a14c64bcbdd7c904b3468f": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "9487c761e6a74e9a89474ce166996349": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "39254a0779204cdeab4f6137f5dc08f1": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_1f01f9fb1dd049608955f7b74125df46",
+              "IPY_MODEL_5f9c70ec2fa245c0af65060b0e1e6437",
+              "IPY_MODEL_502b9aea682a4581bf56665bd34e3865"
+            ],
+            "layout": "IPY_MODEL_e73d7be5e93c460db88f6ca51a9f321f"
+          }
+        },
+        "1f01f9fb1dd049608955f7b74125df46": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_46d75b448fa74b0e8c788910c96a889a",
+            "placeholder": "​",
+            "style": "IPY_MODEL_80acff6e8a1c47f7a86314cf5c94eda7",
+            "value": "100%"
+          }
+        },
+        "5f9c70ec2fa245c0af65060b0e1e6437": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_90a8b7517edf4ac8b229b6cba148f5d6",
+            "max": 3,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_82855909d7de4efba3003dd17a139331",
+            "value": 3
+          }
+        },
+        "502b9aea682a4581bf56665bd34e3865": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_c5f8f58d80c64219adc509fbd873ab58",
+            "placeholder": "​",
+            "style": "IPY_MODEL_2ac12528c0414261b47d10059dc9a5e8",
+            "value": " 3/3 [00:00&lt;00:00, 116.91it/s]"
+          }
+        },
+        "e73d7be5e93c460db88f6ca51a9f321f": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "46d75b448fa74b0e8c788910c96a889a": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "80acff6e8a1c47f7a86314cf5c94eda7": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "90a8b7517edf4ac8b229b6cba148f5d6": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "82855909d7de4efba3003dd17a139331": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "c5f8f58d80c64219adc509fbd873ab58": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "2ac12528c0414261b47d10059dc9a5e8": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "d8acb0e0dace410d9b1995440e4a31a0": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_4305cb8b9a484f82817a8213a5159293",
+              "IPY_MODEL_efda31d2cca342e69c519abbb7b6293d",
+              "IPY_MODEL_0ff562b22cbc4160bef1ff3d443e1121"
+            ],
+            "layout": "IPY_MODEL_a77a3d00c617482593e7801cd4be0ba9"
+          }
+        },
+        "4305cb8b9a484f82817a8213a5159293": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_2d73df70c12d4b8a99e4f547b575d9ef",
+            "placeholder": "​",
+            "style": "IPY_MODEL_c90524d44fde46358ef4fd8a52500aca",
+            "value": "100%"
+          }
+        },
+        "efda31d2cca342e69c519abbb7b6293d": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_ac43b71c6a48484ca042f3d57ac6220e",
+            "max": 25,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_0260cea216c04e60b95f7a6155f9921f",
+            "value": 25
+          }
+        },
+        "0ff562b22cbc4160bef1ff3d443e1121": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_42cb934fb20d4eb19736291762c2a016",
+            "placeholder": "​",
+            "style": "IPY_MODEL_88b0ce9ec73d438dae320c9988b5976e",
+            "value": " 25/25 [00:16&lt;00:00,  1.57ba/s]"
+          }
+        },
+        "a77a3d00c617482593e7801cd4be0ba9": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "2d73df70c12d4b8a99e4f547b575d9ef": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "c90524d44fde46358ef4fd8a52500aca": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "ac43b71c6a48484ca042f3d57ac6220e": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "0260cea216c04e60b95f7a6155f9921f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "42cb934fb20d4eb19736291762c2a016": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "88b0ce9ec73d438dae320c9988b5976e": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "402c2a8a2ee44dffb3a01eaec20c98c3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_d7527d02529e4016808ceac038658db9",
+              "IPY_MODEL_0b93d82eab7b4198abdcf61642c0163c",
+              "IPY_MODEL_f821c27fa0ce41c1b56f4886d1b9c3a3"
+            ],
+            "layout": "IPY_MODEL_6429bca686c84873b84dc87b48c3ae74"
+          }
+        },
+        "d7527d02529e4016808ceac038658db9": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_0cd49ed9515747e8a75d52f5b6639cf8",
+            "placeholder": "​",
+            "style": "IPY_MODEL_36d76008033d465082fcc521872674ab",
+            "value": "100%"
+          }
+        },
+        "0b93d82eab7b4198abdcf61642c0163c": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_3e2470174127483a97855e6292538887",
+            "max": 25,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_36e1440bf1c645209717952092df75bb",
+            "value": 25
+          }
+        },
+        "f821c27fa0ce41c1b56f4886d1b9c3a3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_717cdc92457e4e2399ea8aac1ac59126",
+            "placeholder": "​",
+            "style": "IPY_MODEL_04ec6007983d4e36b99aaa6cd7ddfd27",
+            "value": " 25/25 [00:16&lt;00:00,  1.55ba/s]"
+          }
+        },
+        "6429bca686c84873b84dc87b48c3ae74": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "0cd49ed9515747e8a75d52f5b6639cf8": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "36d76008033d465082fcc521872674ab": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "3e2470174127483a97855e6292538887": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "36e1440bf1c645209717952092df75bb": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "717cdc92457e4e2399ea8aac1ac59126": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "04ec6007983d4e36b99aaa6cd7ddfd27": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "93d4ceef1f944dd1afa2300c6e87b0af": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_9b66c3e18812483892d50349a98b676e",
+              "IPY_MODEL_2a5d5adedda94471b04062ca18c12fb4",
+              "IPY_MODEL_5dfbf50aa4dd470d9c1807094563e2bd"
+            ],
+            "layout": "IPY_MODEL_034f96d6b9de4340b5d1d5abde3e530a"
+          }
+        },
+        "9b66c3e18812483892d50349a98b676e": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_5123fab80f18495eb1187da9ac8ba2a5",
+            "placeholder": "​",
+            "style": "IPY_MODEL_d48dcef075354dca8b45a0223e7850c8",
+            "value": "100%"
+          }
+        },
+        "2a5d5adedda94471b04062ca18c12fb4": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_5d05a5ce506b4dee92d9ed96b954bd2c",
+            "max": 50,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_383db47487d24849b5af562e4a2cace6",
+            "value": 50
+          }
+        },
+        "5dfbf50aa4dd470d9c1807094563e2bd": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_5a1094d2e3af415fa9fff810e4c552cd",
+            "placeholder": "​",
+            "style": "IPY_MODEL_157d00c209f4433095ace959efc620f8",
+            "value": " 50/50 [00:33&lt;00:00,  1.40ba/s]"
+          }
+        },
+        "034f96d6b9de4340b5d1d5abde3e530a": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "5123fab80f18495eb1187da9ac8ba2a5": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "d48dcef075354dca8b45a0223e7850c8": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "5d05a5ce506b4dee92d9ed96b954bd2c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "383db47487d24849b5af562e4a2cace6": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "5a1094d2e3af415fa9fff810e4c552cd": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "157d00c209f4433095ace959efc620f8": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "719427ef24264e4e865c9cb17734ca71": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_bd6a5aca026c41e78a6ede48e1a711de",
+              "IPY_MODEL_aec7992f7c2d422a80b4a80124e4ebd1",
+              "IPY_MODEL_0b822ee14a934f048b9f71f6cd978909"
+            ],
+            "layout": "IPY_MODEL_a4b8f74456b9402cb9c30119efc4402c"
+          }
+        },
+        "bd6a5aca026c41e78a6ede48e1a711de": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_85e2273f090144939d1b1bda7110c07c",
+            "placeholder": "​",
+            "style": "IPY_MODEL_3491072932d14859b154215b1f87c32d",
+            "value": "Downloading builder script: 100%"
+          }
+        },
+        "aec7992f7c2d422a80b4a80124e4ebd1": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_41389be4835045a1b329b510b67e3649",
+            "max": 4203,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_521066b916a948abb6ba7509b6ec1777",
+            "value": 4203
+          }
+        },
+        "0b822ee14a934f048b9f71f6cd978909": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_6e12244785724ac5a6312a3be758b078",
+            "placeholder": "​",
+            "style": "IPY_MODEL_3b9ce6fc6c0a44edb61605251fe5c649",
+            "value": " 4.20k/4.20k [00:00&lt;00:00, 277kB/s]"
+          }
+        },
+        "a4b8f74456b9402cb9c30119efc4402c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "85e2273f090144939d1b1bda7110c07c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "3491072932d14859b154215b1f87c32d": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "41389be4835045a1b329b510b67e3649": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "521066b916a948abb6ba7509b6ec1777": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "6e12244785724ac5a6312a3be758b078": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "3b9ce6fc6c0a44edb61605251fe5c649": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "604728efd7124bfbba708fd989582fe6": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_678ae63c0c354be886a4eb99ecb197dd",
+              "IPY_MODEL_367b69d3db5f4bba9e3d57d8ae3fe0ce",
+              "IPY_MODEL_9d6b715fe2ff419bb0e9e0f9817ed280"
+            ],
+            "layout": "IPY_MODEL_6a758b1b2d024750ab05ac248ce1f80a"
+          }
+        },
+        "678ae63c0c354be886a4eb99ecb197dd": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_b2c21ad1951a4742850955a24a9cfcdd",
+            "placeholder": "​",
+            "style": "IPY_MODEL_1d96b24c4aed45f5a3ac035cc8a532c5",
+            "value": "Downloading (…)lve/main/config.json: 100%"
+          }
+        },
+        "367b69d3db5f4bba9e3d57d8ae3fe0ce": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_8441bc42dfa54fcd80bd9cb23b855348",
+            "max": 829,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_5c81ecb4f86644f1857de6adeed504b4",
+            "value": 829
+          }
+        },
+        "9d6b715fe2ff419bb0e9e0f9817ed280": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_3165019540854f7e9fc0a66768a49bc6",
+            "placeholder": "​",
+            "style": "IPY_MODEL_626ec59b6f814639a4620288371b94b5",
+            "value": " 829/829 [00:00&lt;00:00, 41.4kB/s]"
+          }
+        },
+        "6a758b1b2d024750ab05ac248ce1f80a": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "b2c21ad1951a4742850955a24a9cfcdd": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "1d96b24c4aed45f5a3ac035cc8a532c5": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "8441bc42dfa54fcd80bd9cb23b855348": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "5c81ecb4f86644f1857de6adeed504b4": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "3165019540854f7e9fc0a66768a49bc6": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "626ec59b6f814639a4620288371b94b5": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "3fad33f0a8b241e483a20037a73d6d91": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_ad62af65a32f42d1801c6a157cf82639",
+              "IPY_MODEL_5c73b74a7ee948c69981a0e8d4788db6",
+              "IPY_MODEL_8ff018e97972473093adc4166760cf1d"
+            ],
+            "layout": "IPY_MODEL_75883b5e8a2741e7a4e4d1799bd1e084"
+          }
+        },
+        "ad62af65a32f42d1801c6a157cf82639": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_c0408e189aa44fbd8e97a8dbc6931444",
+            "placeholder": "​",
+            "style": "IPY_MODEL_ce623be3c2c0469fb85db8d953fd8940",
+            "value": "Downloading (…)&quot;pytorch_model.bin&quot;;: 100%"
+          }
+        },
+        "5c73b74a7ee948c69981a0e8d4788db6": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_8adb8c0801594eb8bef065d1b2daf0bb",
+            "max": 433316646,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_99c0d9fd187846a6aaf61088eb7c566a",
+            "value": 433316646
+          }
+        },
+        "8ff018e97972473093adc4166760cf1d": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_9aa2d79693d748d59c11f3037b556048",
+            "placeholder": "​",
+            "style": "IPY_MODEL_59d0c7a1fe6b4a8c9f3d8d9d27f7ceac",
+            "value": " 433M/433M [00:14&lt;00:00, 19.7MB/s]"
+          }
+        },
+        "75883b5e8a2741e7a4e4d1799bd1e084": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "c0408e189aa44fbd8e97a8dbc6931444": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "ce623be3c2c0469fb85db8d953fd8940": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "8adb8c0801594eb8bef065d1b2daf0bb": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "99c0d9fd187846a6aaf61088eb7c566a": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "9aa2d79693d748d59c11f3037b556048": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "59d0c7a1fe6b4a8c9f3d8d9d27f7ceac": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "1422ab118aeb45359be121ae753f431b": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_fc985bef023740beb783e793d4d9298c",
+              "IPY_MODEL_0aaab6aad08a4e55a220bfdd401a3e84",
+              "IPY_MODEL_8c7e48253e6e4ac7bbee5eca600e5af2"
+            ],
+            "layout": "IPY_MODEL_ae599e9537454f6e8aabbd1d44c9afd9"
+          }
+        },
+        "fc985bef023740beb783e793d4d9298c": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_7de5829e22bc4de794e3296f343897f5",
+            "placeholder": "​",
+            "style": "IPY_MODEL_05201d7c6d34421099fcda145e9c3b69",
+            "value": "Downloading (…)okenizer_config.json: 100%"
+          }
+        },
+        "0aaab6aad08a4e55a220bfdd401a3e84": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_5413c943e40e46cfade34ba453d77dbf",
+            "max": 59,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_9a055b38f6054d9284fd48a8d272d867",
+            "value": 59
+          }
+        },
+        "8c7e48253e6e4ac7bbee5eca600e5af2": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_52042c14e1eb4465be59a45d49a8cea4",
+            "placeholder": "​",
+            "style": "IPY_MODEL_b1f4c471c262491790560af0f8d93f45",
+            "value": " 59.0/59.0 [00:00&lt;00:00, 3.53kB/s]"
+          }
+        },
+        "ae599e9537454f6e8aabbd1d44c9afd9": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "7de5829e22bc4de794e3296f343897f5": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "05201d7c6d34421099fcda145e9c3b69": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "5413c943e40e46cfade34ba453d77dbf": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "9a055b38f6054d9284fd48a8d272d867": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "52042c14e1eb4465be59a45d49a8cea4": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "b1f4c471c262491790560af0f8d93f45": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "8910247048d64343a8e8937d96d72e9b": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_7d5cae2d1db04865af62eef7b8634376",
+              "IPY_MODEL_23ac5178d5d94666ad9469779b943da9",
+              "IPY_MODEL_e85f8086a0c74692b43da84e8655eba5"
+            ],
+            "layout": "IPY_MODEL_34fc513f2ee043a8b19cc115d97bc930"
+          }
+        },
+        "7d5cae2d1db04865af62eef7b8634376": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_6fc5ecfac8144a0e8d137d1f5bf8cee2",
+            "placeholder": "​",
+            "style": "IPY_MODEL_0f4ac12493c44672846275ce88b28a58",
+            "value": "Downloading (…)solve/main/vocab.txt: 100%"
+          }
+        },
+        "23ac5178d5d94666ad9469779b943da9": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_eb004831fc404b67ae556c166a9b5d69",
+            "max": 213450,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_0fb123a5c5c4405f807a98a34ebdf93f",
+            "value": 213450
+          }
+        },
+        "e85f8086a0c74692b43da84e8655eba5": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_bc6d1718b78c447890283a1dbebc8d23",
+            "placeholder": "​",
+            "style": "IPY_MODEL_4e54c874458e429e96aa24d55d7344f3",
+            "value": " 213k/213k [00:00&lt;00:00, 311kB/s]"
+          }
+        },
+        "34fc513f2ee043a8b19cc115d97bc930": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "6fc5ecfac8144a0e8d137d1f5bf8cee2": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "0f4ac12493c44672846275ce88b28a58": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "eb004831fc404b67ae556c166a9b5d69": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "0fb123a5c5c4405f807a98a34ebdf93f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "bc6d1718b78c447890283a1dbebc8d23": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "4e54c874458e429e96aa24d55d7344f3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "bf1dcc3d402f479193ae0e16a7d51515": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_6adca99ab96a449c9e224139ab4bb7ba",
+              "IPY_MODEL_2d2b356d83b14a6082dea356586bc2c8",
+              "IPY_MODEL_03437bd4548140b1a4d5567749026694"
+            ],
+            "layout": "IPY_MODEL_aca4af16745841ada91a217d9564f123"
+          }
+        },
+        "6adca99ab96a449c9e224139ab4bb7ba": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_cea9e35e91e34124be33a525caf5048d",
+            "placeholder": "​",
+            "style": "IPY_MODEL_2746340f025f41f09585c10a59376191",
+            "value": "Downloading (…)in/added_tokens.json: 100%"
+          }
+        },
+        "2d2b356d83b14a6082dea356586bc2c8": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_beeb5a4e6c4746af86d3d6869c076667",
+            "max": 2,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_bc3508b4bf9840e5968248774dab3328",
+            "value": 2
+          }
+        },
+        "03437bd4548140b1a4d5567749026694": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_42493a24fd4d41fcb8284cf33a19e6f0",
+            "placeholder": "​",
+            "style": "IPY_MODEL_f3e4ddbd79eb44cc8bf7316a956ca43f",
+            "value": " 2.00/2.00 [00:00&lt;00:00, 102B/s]"
+          }
+        },
+        "aca4af16745841ada91a217d9564f123": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "cea9e35e91e34124be33a525caf5048d": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "2746340f025f41f09585c10a59376191": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "beeb5a4e6c4746af86d3d6869c076667": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "bc3508b4bf9840e5968248774dab3328": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "42493a24fd4d41fcb8284cf33a19e6f0": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "f3e4ddbd79eb44cc8bf7316a956ca43f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "b95668a1e54940318d875961ad937622": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HBoxModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_f87b6ccdba284777ac642ca1e7357ee1",
+              "IPY_MODEL_d61d6d267e2a41b2b5a247c7a6ec1830",
+              "IPY_MODEL_ff49d929d7404b4c86dcf1498b56e7fb"
+            ],
+            "layout": "IPY_MODEL_7f9e60151f3e47a2a23171e04c07b2d4"
+          }
+        },
+        "f87b6ccdba284777ac642ca1e7357ee1": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_0232c7e956e84f768c78b50fed77998c",
+            "placeholder": "​",
+            "style": "IPY_MODEL_1f6d36af76a54f35853398b0e12a8c2f",
+            "value": "Downloading (…)cial_tokens_map.json: 100%"
+          }
+        },
+        "d61d6d267e2a41b2b5a247c7a6ec1830": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "FloatProgressModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_9e6ae68f81af4b8d8f751a984ce2f195",
+            "max": 112,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_ed09dfa0140c4208afc2d645f471a1f4",
+            "value": 112
+          }
+        },
+        "ff49d929d7404b4c86dcf1498b56e7fb": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "HTMLModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_cc16b48c9ee6447697d1127a8803476c",
+            "placeholder": "​",
+            "style": "IPY_MODEL_76e9bef7bdad4344a35b35b082f251f6",
+            "value": " 112/112 [00:00&lt;00:00, 5.68kB/s]"
+          }
+        },
+        "7f9e60151f3e47a2a23171e04c07b2d4": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "0232c7e956e84f768c78b50fed77998c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "1f6d36af76a54f35853398b0e12a8c2f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "9e6ae68f81af4b8d8f751a984ce2f195": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "ed09dfa0140c4208afc2d645f471a1f4": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "ProgressStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "cc16b48c9ee6447697d1127a8803476c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_name": "LayoutModel",
+          "model_module_version": "1.2.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "76e9bef7bdad4344a35b35b082f251f6": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_name": "DescriptionStyleModel",
+          "model_module_version": "1.5.0",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        }
+      }
+    }
+  },
+  "nbformat": 4,
+  "nbformat_minor": 0
+}
\ No newline at end of file